MYSQL插入失败 - 语法正确吗?

时间:2013-07-22 19:46:21

标签: php mysql

有没有人看到这个INSERT语句有什么问题?在PHP代码中使用时,这对我来说失败了。我正在使用MySql 5.6。 dept_id是主键。我没有看到语法有什么问题,但它失败了。任何帮助都会很棒!

    $add_sql = @mysql_query("INSERT INTO `vf_department` (`dept_id`,`descr`,`sub_dept`)VALUES('','$new_desc','$new_sub')") or die("Can not add item.");

3 个答案:

答案 0 :(得分:1)

是自动增量的主键吗?如果是这样,您不需要将它作为insert语句的一部分。

答案 1 :(得分:0)

我同意ebizzity ...如果一列是自动增量,请将其从插入命令中删除,MySQL将为您生成。至于所有其他评论,我很惊讶没有人提到你接触SQL注入。

如果$ new_desc和/或$ new_sub的值包含单引号,那将抵消命令的平衡并使其阻塞......更不用说在COML注入时会发生这种情况。查看清理传入数据并参数化您的呼叫。

答案 2 :(得分:0)

试试这个

$add_sql = mysql_query("INSERT INTO `vf_department` (`descr`,`sub_dept`)
          VALUES('$new_desc','$new_sub')") or die(mysql_error());