用php和mysql数据库访问计数器 [英] hit counter with php and mysql database

查看:95
本文介绍了用php和mysql数据库访问计数器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想做一个简单的php访问计数器...我写这段​​代码

I'm tring to make a simple php visit counter... i write this code

<?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)现场电话访问.我正在本地主机上运行此脚本.

When i execute this code the outpout is "5". Why? Where is the error? In my database i created an int(11) field call visit. i'm running this script on localhost.

推荐答案

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

You forgot to fetch result row. mysql_query function returns result resource, not row values.

您可以使用 mysql_fetch_assoc mysql_fetch_array 函数.

You can use mysql_fetch_assoc or mysql_fetch_array function.

$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;

如果您的代码中不需要旧的计数器值(用于其他一些操作),而只需要增加数据库值,则可以运行 UPDATE myWebsite SET visit = visit+1查询(Jelle Ferwerda建议).

If you don't need old counter value in your code (for some other manipulations) and you just need to increment database value, you can run just UPDATE myWebsite SET visit = visit+1 query as Jelle Ferwerda suggested.

P.S.:请勿使用mysql_扩展名,因为它已被弃用.使用 PDO Mysqli .

P.S.: Do not use mysql_ extension cause it is deprecated. Use PDO or Mysqli instead.

这篇关于用php和mysql数据库访问计数器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆