使用INSERT将Integer值插入到mysql int中

时间:2012-07-05 22:22:34

标签: php mysql insert int

我正在尝试在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);

2 个答案:

答案 0 :(得分:5)

group是一个mysql关键字,使用它后面的引号

"INSERT INTO contestants (firstName, lastname, email, `group`) 
 VALUES ('$firstName', '$lastName', '$email', '$groupId')"

答案 1 :(得分:1)

错误是因为你用''包围你的int,你需要摆脱你的撇号,它会正常工作。

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

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

根据pst这是错误的,但是你不需要单引号的事实仍然是正确的。