在php中的数据INSERT期间出错

时间:2010-06-02 07:01:44

标签: php mysql

这里是我的代码 -

$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查询正确时不插入值?

3 个答案:

答案 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);