这里是我的代码 -
$sql = "INSERT INTO tblpin ('pinId', 'ownerId', 'usedby', 'status') VALUES ";
for($i=0; $i<sizeof($pin); $i++)
{
if ($i>0)
{
$sql .= ", ";
}
$sql .= "('$pin[$i]', '$ownerid', 'Free', '1')";
}
$sql .= ";";
echo $sql;
mysql_query($sql);
if(mysql_affected_rows() > 0)
{
echo "done";
}
else
{
echo "Fail";
}
输出:** INSERT INTO tblpin ('pinId', 'ownerId', 'usedby', 'status') VALUES ('13837927', 'admin', 'Free', '1'), ('59576082', 'admin', 'Free', '1');
失败
为什么在$ sql查询正确时不插入值?
答案 0 :(得分:3)
请勿将列名放在引号之间。
答案 1 :(得分:3)
这里
INSERT INTO tblpin ('pinId', 'ownerId', 'usedby', 'status') VALUES
你必须使用``或者不使用任何东西来定义表和行但你不能使用''而是正确的查询将是:
INSERT INTO `tblpin` (`pinId`, `ownerId`, `usedby`, `status`) VALUES ('13837927', 'admin', 'Free', '1'), ('59576082', 'admin', 'Free', '1');
OR:
INSERT INTO tblpin (pinId, ownerId, usedby, status) VALUES ('13837927', 'admin', 'Free', '1'), ('59576082', 'admin', 'Free', '1');
答案 2 :(得分:0)
INSERT INTO tblpin (pinId, ownerId, usedby, status) VALUES (13837927, 'admin', 'Free', 1), (59576082, 'admin', 'Free', 1);