这是我的更新代码:
$key = $skills[$ind];
echo "\t\t<td>" . $key . "</td>\n";
//explode using a comma as a delimiter
$data_n = explode(",", $word);
$score[$key][”Rank”] = $data_n[0];
$score[$key][”Level”] = $data_n[1];
$score[$key][”Exp”] = $data_n[2];
echo "\t\t<td>" .$data_n[0] . "</td>\n";
echo "\t\t<td>" .$data_n[1] . "</td>\n";
echo "\t\t<td>" .$data_n[2] . "</td>\n";
$result = mysql_query("UPDATE accounts SET $key ='$data_n[1]' WHERE username = '$user'")
or
die(mysql_error());
基本上,有一个字符串“key”是我正在尝试更新的东西的名称,但它只是没有更新。我已经将“mysql_query”更改为“print”,并打印出它应该具有的内容:
UPDATE accounts SET Total ='1144' WHERE username = 'derekboy'
没有任何错误。打印出$ result表明它将消息发送给MySQL是“真的”。任何人都可以看到这个问题,因为我一直在寻找一整天,但仍然没有。
我的所有代码都位于here;谢谢。您可以看到我连接到脚本顶部的数据库。
答案 0 :(得分:1)
1)您似乎没有连接到mysql。您的代码在此之前是mysql_connect
和mysql_select_db
吗?
2)尝试在PHPMyAdmin(或您使用的任何MySQL客户端)中运行查询,以查看是否存在任何错误。那里的查询运行正常吗?
3)很可能,您的表格中没有username
值derekboy
。
答案 1 :(得分:0)
我不太了解PHP,但似乎你用单引号包围变量,其中变量不是插值的。
尝试类似:
$result = mysql_query("UPDATE accounts SET " . $key . " ='" . $data_n[1] . "' WHERE username = '". $user" . "'") or die(mysql_error());