SQL更新php变量到数据库的问题

时间:2013-09-26 07:34:55

标签: php mysql

我有以下代码更新我的数据库记录。

$assign_id_input = $_POST['assign_id_input']; // Get ID input from user, it is always an integer

$assign_math = $_POST['input_math']; // Get the input from user

mysql_query("UPDATE free_ebook SET math = $assign_math WHERE useid = $assign_id_input;")or die(mysql_error());

我将在

下面显示SQL错误
  

您的SQL语法有错误;检查手册   对应于您的MySQL服务器版本,以便使用正确的语法   在第1行'WHERE useid = 8'附近

5 个答案:

答案 0 :(得分:0)

我敢打赌你的'math'列是一个字符串,所以你必须用你的变量周围的引号来保护字符串。

mysql_query("UPDATE free_ebook SET math = '$assign_math' WHERE useid = $assign_id_input;")or die(mysql_error()

答案 1 :(得分:0)

数学数据是字符串格式,应该像字符串

一样传递
mysql_query("UPDATE free_ebook SET math = '$assign_math' WHERE useid = $assign_id_input;")or die(mysql_error());

答案 2 :(得分:0)

您应该在SQLquery中用以下单引号括起变量名:

代码:

mysql_query("UPDATE free_ebook SET math = '$assign_math' WHERE useid = '$assign_id_input'");

答案 3 :(得分:0)

您在查询中有;,将其取出

mysql_query("UPDATE free_ebook SET math = '$assign_math' WHERE useid = $assign_id_input")or die(mysql_error());

答案 4 :(得分:0)

'仅用于列值,适用于text / date / varchar类型。请查看您要更新的列值。

mysql_query("UPDATE free_ebook SET math = '$assign_math' WHERE useid = $assign_id_input")