我正在试着做一个简单的php访问计数器。我写这段代码
<?php
$Connect = mysql_connect('Localhost','root','');
$Database = mysql_select_db("myDatabaseName");
$CurrentVisit = mysql_query("SELECT visit FROM myWebsite");
$NewVisit = $CurrentVisit+1;
$UpdateField = mysql_query("UPDATE myWebsite SET visit = '$NewVisit'");
echo $NewVisit;
?>当我执行这段代码时,输出是"5“。为什么?错误在哪里?在我的数据库中,我创建了一个int(11)字段调用an。我在localhost上运行这个脚本。
发布于 2013-12-25 16:10:28
您忘记了获取结果行。mysql_query函数返回结果资源,而不是行值。
您可以使用mysql_fetch_assoc或mysql_fetch_array函数。
$Connect = mysql_connect('Localhost','root','');
$Database = mysql_select_db("myDatabaseName");
$Result = mysql_query("SELECT visit FROM myWebsite");
$CurrentVisit = mysql_fetch_assoc($Result["visit"]);
$NewVisit = $CurrentVisit+1;
$UpdateField = mysql_query("UPDATE myWebsite SET visit = '$NewVisit'");
echo $NewVisit;如果你的代码中不需要旧的计数器值(对于其他一些操作),你只需要增加数据库值,你可以像Jelle Ferwerda建议的那样只运行UPDATE myWebsite SET visit = visit+1查询。
P.S.:不要使用mysql_扩展,因为它已被弃用。请改用PDO或Mysqli。
发布于 2013-12-25 16:12:02
在运行查询之后,您必须运行mysql_fetch_array之类的命令。但是,您可以通过运行以下命令来更新数据库中的计数器
UPDATE myWebsite SET visit = visit+1假设您不需要显示数字。这将为您节省查询时间。
更合乎逻辑的做法是只使用谷歌分析?
发布于 2013-12-25 16:13:44
您错过了从结果中获取结果set.first获取数据,如下所示:
$CurrentVisit = mysql_fetch_array($Result['visit']);https://stackoverflow.com/questions/20770544
复制相似问题