-1

使用此代码:

$sql = mysql_query("UPDATE tablename SET auth = '$new_auth' WHERE index = '$index'");

我打印出所有变量。它工作正常,只是没有更新身份验证,或者有时在玩代码时它只会更新第一个结果

4

5 回答 5

1

当我遇到查询问题时,我喜欢使用 or die() 进行故障排除。我会尝试使用以下内容更新您的代码:

$sql = mysql_query("UPDATE tablename SET auth = $new_auth WHERE index = $index") or die(mysql_error());

这将取消涉及该查询的错误,并使我们更好地了解问题的实际情况。

于 2013-08-12T19:37:32.397 回答
0

在您的表中索引是否具有字符串类型?如果不是,并且 index 是数字,则忽略'周围的字符$index就可以了。

$sql = mysql_query("UPDATE tablename SET auth = '$new_auth' WHERE index = $index");
于 2013-08-12T19:38:21.860 回答
0

经过大量研究,我发现这不起作用的原因是因为 index 是 MYSQL 代码中的保留字,我通过用 2 个刻度包装 index 来修复它

于 2013-08-13T05:45:53.443 回答
0

请使用 Acute(`) 尝试此代码,因为索引是 mysql 的保留工作:

$sql = mysql_query("UPDATE tablename SET auth = '$new_auth' WHERE `index` = $index");
于 2013-08-18T19:00:16.277 回答
-2

你的 $sql 是错误的:你需要这样写:

$sql = mysql_query("UPDATE tablename SET auth = '".$new_auth."' WHERE index = '".$index."'");
于 2013-08-12T19:35:44.520 回答