我已经使用了很长时间了,现在它停止了工作。我只是不明白为什么PHP会改变你。有人帮忙。
问题在于这两行:
$res = mysql_query("SELECT num FROM ywsite WHERE item='sitehits'", $db);
$num = mysql_result($res,0,"num");
这是脚本的其余部分:
<?php
$res = mysql_query("SELECT num FROM ywsite WHERE item='sitehits'", $db);
$num = mysql_result($res,0,"num");
$equals = $num + 1;
mysql_query("UPDATE ywsite SET num='$equals' WHERE item='sitehits'");
?>
答案 0 :(得分:4)
这似乎是一种增加数字的相当复杂的方法。只需这样做:
UPDATE ywsite SET num = num + 1 WHERE item = 'sitehits'
如果失败,请使用mysql_error查看错误。最可能的错误原因是表名或列名不正确。
答案 1 :(得分:4)
“停止工作”不是问题描述。没有什么可以改变你。如果您编写的代码停止工作,则意味着您所依赖的外部内容已经发生变化,例如您正在运行它的PHP解释器的版本,或者说,您正在连接的MySQL服务器。
检查MySQL是否正在运行,您可以连接到它。
确保您在代码中实际连接到它。您说“这是脚本的其余部分”,但您的脚本在向其发送查询之前不包含任何连接到数据库的代码。如果这是所有代码,那么过去会有更多代码删除它。
检查SELECT查询是否返回了结果
if (!$res) die("Error in SELECT query: " . mysql_error());
通过检查mysql_query
的返回值
最后,您无需选择要添加到该值的当前值。您只能发出一个UPDATE查询。
mysql_query("UPDATE ywsite SET num = num + 1 WHERE item = 'sitehits'") or die("Error updating: " . mysql_error());