gpt4 book ai didi

php - 计数器不会在 PHP/MySQL 中递增

转载 作者:可可西里 更新时间:2023-11-01 06:54:46 25 4
gpt4 key购买 nike

我需要为成员(member)部分创建一个计数器(计算用户登录的次数)。

我有以下脚本 (counter.php):

<?php
$conn = mysql_connect("localhost", "myuser", "mypass");
mysql_select_db("test");

$sql = "SELECT views FROM members WHERE mid = " . $_GET['mid'];
$result = mysql_query($sql);
if (!$result)
{
mail(ADMIN, 'Cannot Get: ' . mysql_error(), mysql_error());
}
while ($row = mysql_fetch_assoc($result))
{
$count = $row['views']++;
}
$query = "UPDATE members SET views = '$count' WHERE mid = " . $_GET['mid'];
mysql_query($query);
mysql_close($conn);

// show the logo using header() and readfile(); // that part work
?>

数据库:

CREATE TABLE `members` (
`mid` int(11) NOT NULL AUTO_INCREMENT,
`views` int(11) DEFAULT '0',
/* etc...*/
PRIMARY KEY (`mid`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

现在,我在 .htaccess 文件中所做的是:

RewriteEngine On
RewriteRule ^img/logo([0-9]+).jpg$ /counter.php?mid=$1 [L]

但出于某种原因,我的计数器计数不正确。我错过了什么?

最佳答案

您可以简化它并执行以下操作:

$query = "UPDATE members SET views = views + 1 WHERE mid = " . $_GET['mid']; 
mysql_query($query);

if (mysql_affected_rows() == 0) {
mail(ADMIN, 'Cannot Get: ' . mysql_error(), mysql_error());
}

mysql_close($conn);

无需进行初始检查。

关于php - 计数器不会在 PHP/MySQL 中递增,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7797880/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com