使用此代码:
$sql = mysql_query("UPDATE tablename SET auth = '$new_auth' WHERE index = '$index'");
我打印出所有变量。它工作正常,只是没有更新身份验证,或者有时在玩代码时它只会更新第一个结果
当我遇到查询问题时,我喜欢使用 or die() 进行故障排除。我会尝试使用以下内容更新您的代码:
$sql = mysql_query("UPDATE tablename SET auth = $new_auth WHERE index = $index") or die(mysql_error());
这将取消涉及该查询的错误,并使我们更好地了解问题的实际情况。
在您的表中索引是否具有字符串类型?如果不是,并且 index 是数字,则忽略'
周围的字符$index
就可以了。
$sql = mysql_query("UPDATE tablename SET auth = '$new_auth' WHERE index = $index");
经过大量研究,我发现这不起作用的原因是因为 index 是 MYSQL 代码中的保留字,我通过用 2 个刻度包装 index 来修复它
请使用 Acute(`) 尝试此代码,因为索引是 mysql 的保留工作:
$sql = mysql_query("UPDATE tablename SET auth = '$new_auth' WHERE `index` = $index");
你的 $sql 是错误的:你需要这样写:
$sql = mysql_query("UPDATE tablename SET auth = '".$new_auth."' WHERE index = '".$index."'");