在sql中插入多行

时间:2013-09-13 02:16:48

标签: php sql insert

有人能告诉我为什么这个查询错了吗?

$tbl_name = "Attributes";
$pieces = //some array 
//other variables... blah blah blah

$query = "INSERT INTO $tbl_name (Word, What, When) VALUES";
foreach($pieces as $word){
    $query .= "('$word', '$What', '$When'),";
}

$query = substr($query, 0, -1);  //to remove the last comma

mysql_query($query) or die(mysql_error());

如果你能说,我试图用一个查询插入多行。当我尝试运行它时,我遇到语法错误,但我99.9999%肯定没有拼写错误。我是否通过尝试一次插入多行来做错事?

2 个答案:

答案 0 :(得分:2)

是保留字时,要么将其包装在`中,要么使用其他字。 MySQL保留字列表: http://dev.mysql.com/doc/refman/5.5/en/reserved-words.html

答案 1 :(得分:0)

是否有可能在你的$ word中的某个时刻,$ what,$当你有一个'未被删除的?还是一些mysql注入?

如果是,我会尝试使用mysql_real_escape_string http://php.net/manual/en/function.mysql-real-escape-string.php