我正在尝试在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);
答案 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这是错误的,但是你不需要单引号的事实仍然是正确的。