首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >php和mysql数据库的命中计数器

php和mysql数据库的命中计数器
EN

Stack Overflow用户
提问于 2013-12-25 16:09:16
回答 3查看 8.1K关注 0票数 1

我正在试着做一个简单的php访问计数器。我写这段代码

代码语言:javascript
复制
<?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上运行这个脚本。

EN

回答 3

Stack Overflow用户

发布于 2013-12-25 16:10:28

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

您可以使用mysql_fetch_assocmysql_fetch_array函数。

代码语言:javascript
复制
$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
EN

Stack Overflow用户

发布于 2013-12-25 16:12:02

在运行查询之后,您必须运行mysql_fetch_array之类的命令。但是,您可以通过运行以下命令来更新数据库中的计数器

代码语言:javascript
复制
UPDATE myWebsite SET visit = visit+1

假设您不需要显示数字。这将为您节省查询时间。

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

票数 0
EN

Stack Overflow用户

发布于 2013-12-25 16:13:44

您错过了从结果中获取结果set.first获取数据,如下所示:

代码语言:javascript
复制
$CurrentVisit = mysql_fetch_array($Result['visit']);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20770544

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档