我工作正常的PHP脚本不再工作了

时间:2010-12-21 13:02:10

标签: php mysql

我已经使用了很长时间了,现在它停止了工作。我只是不明白为什么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'");
?>

2 个答案:

答案 0 :(得分:4)

这似乎是一种增加数字的相当复杂的方法。只需这样做:

UPDATE ywsite SET num = num + 1 WHERE item = 'sitehits'

如果失败,请使用mysql_error查看错误。最可能的错误原因是表名或列名不正确。

答案 1 :(得分:4)

“停止工作”不是问题描述。没有什么可以改变你。如果您编写的代码停止工作,则意味着您所依赖的外部内容已经发生变化,例如您正在运行它的PHP解释器的版本,或者说,您正在连接的MySQL服务器。

  1. 检查MySQL是否正在运行,您可以连接到它。

  2. 确保您在代码中实际连接到它。您说“这是脚本的其余部分”,但您的脚本在向其发送查询之前不包含任何连接到数据库的代码。如果这是所有代码,那么过去会有更多代码删除它。

  3. 检查SELECT查询是否返回了结果

    if (!$res) die("Error in SELECT query: " . mysql_error());
    
  4. 通过检查mysql_query的返回值

  5. ,检查您的UPDATE查询是否以相同的方式运行
  6. 最后,您无需选择要添加到该值的当前值。您只能发出一个UPDATE查询。

    mysql_query("UPDATE ywsite SET num = num + 1 WHERE item = 'sitehits'") or die("Error updating: " . mysql_error());