我写的脚本有点问题。
$sql ="UPDATE users SET adagio = 1 WHERE username = '$_SESSION[username]'";
这里的主要问题是,虽然我已经测试了
这部分代码将运行
我已成功连接到正确的服务器
3)$_SESSION[username]
为我提供了正确的用户名,
运行代码时,数据库不会更新。 adagio是一个布尔值(嗯,一个微小的位置,真的),我在这里上传了我的phpMyAdmin数据库屏幕:
我不完全确定它为什么不起作用,虽然我在网上搜索并发现了类似的线程,但在任何适用于我的线程中都没有修复。我想知道你们其中一个人是否可能看到我在这里做错了什么?
编辑额外:
if(($_POST['adagio']) == 1){
$sql ="UPDATE users SET adagio = 1 WHERE username = '$_SESSION[username]'";
}
答案 0 :(得分:2)
$_SESSION[username]
几乎肯定是一个字符串,因此它必须在引号中:
$sql ="UPDATE users SET adagio = 1 WHERE username = '$_SESSION[username]'";
仅供参考,如果你检查它们,MySQL很乐意告诉你SQL错误。您应该在正在使用的任何MySQL库中使用适当的错误报告功能。
答案 1 :(得分:0)
你能试试吗?
if (1 == $_POST['adagio']) {
$sql = sprintf ( "UPDATE users SET adagio = 1 WHERE username = '%s'", mysql_escape_string($_SESSION['username']) );
}