2

我正在尝试通过 PHP 在 MySQL 数据库中插入一条新记录,我之前已经做过一百万次了,但由于某种原因,这次我无法让它工作,这真的让我很烦恼。

将字符串插入到所有 varchar 列中效果很好,但是当我要在 int 列中插入一个值时,我收到一条错误消息,告诉我我有语法错误。

基本上,第一个查询工作得很好,但第二个查询返回错误,正如你所看到的,我已经确定它确实是我要插入的整数。

我希望有人能帮忙。我真的开始为此感到头疼:/

$groupId2 = 5;
$groupId = (int)$groupId2;
if(!mysqli_query($link, "INSERT INTO contestants (firstName, lastname, email) VALUES ('$firstName', '$lastName', '$email')"))
  echo "First: " . mysqli_error($link);
if(!mysqli_query($link, "INSERT INTO contestants (firstName, lastname, email, group) VALUES ('$firstName', '$lastName', '$email', '$groupId')"))
  echo "Second: " . mysqli_error($link);
4

2 回答 2

7

group是一个 mysql 关键字在它周围使用反引号

"INSERT INTO contestants (firstName, lastname, email, `group`) 
 VALUES ('$firstName', '$lastName', '$email', '$groupId')"
于 2012-07-06T15:28:51.663 回答
3

错误是因为你用''包围了你的 int,你需要去掉你的撇号,它会工作得很好。

if(!mysqli_query($link, 
   "INSERT INTO contestants
   (firstName, lastname, email, group) VALUES
   ('$firstName', '$lastName', '$email', $groupId)"))
                                         ^^^^^^^^^

澄清一下,在插入数字字段时,您不需要它们。

根据 pst 这是错误的,尽管您不需要单引号这一事实仍然是正确的。

于 2012-07-05T22:27:46.967 回答