0

有人看到这个 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.");
4

3 回答 3

1

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

于 2013-07-22T19:51:06.300 回答
0

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

如果您的 $new_desc 和/或 $new_sub 的值包含单引号,那将抵消您的命令的平衡并使其窒息......更不用说可能会发生 sql 注入。研究清理传入数据并参数化您的调用。

于 2013-07-22T19:57:24.767 回答
0

试试这个

$add_sql = mysql_query("INSERT INTO `vf_department` (`descr`,`sub_dept`)
          VALUES('$new_desc','$new_sub')") or die(mysql_error());
于 2013-07-22T20:03:31.590 回答