用php和mysql数据库点击计数器

时间:2013-12-25 08:09:16

标签: php mysql database

我想制作一个简单的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)字段调用访问。我在localhost上运行这个脚本。

3 个答案:

答案 0 :(得分:1)

您忘记了获取结果行。 mysql_query函数返回结果资源,而不是行值。

您可以使用mysql_fetch_assocmysql_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_扩展名,因为它已被弃用。请改用PDOMysqli

答案 1 :(得分:0)

运行查询后,您必须运行类似mysql_fetch_array的内容。但是,您只需运行

即可更新数据库中的计数器
UPDATE myWebsite SET visit = visit+1

假设您不需要显示该号码。这样可以节省您的查询。

更合乎逻辑的imhop只是使用谷歌分析?

答案 2 :(得分:0)

您错过了从结果集中获取结果。首先获取数据如下:

$CurrentVisit = mysql_fetch_array($Result['visit']);