将多个数组插入数据库时​​出现问题

时间:2010-07-31 18:16:32

标签: php mysql

我使用以下代码将多个数组插入到我的数据库中:

$queries_cols = array(); 

for($i=0; $i<count($cols); $i++) 
{ 
    $queries_cols [] = "('".$cols[$i]."','".$int_manha1_1[$i]."','".$int_manha1_2[$i]."','" .$int_tarde2_1[$i]."','".$int_tarde2_2[$i]."','".$h1_1[$i].$h1_2[$i]."','".$h2_1[$i].$h2_2[$i]."')" ; 
}

$query_col = "INSERT into cols_ponto_diaria values '".implode(",", $queries_cols)."'";

$result = mysql_query($query_col) or die("Erro: ".mysql_error());

当我提交表单时,它会输出错误:

Erro: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''('Ricardo','08:30:00','12:15:00','14:45:00','18:00:00','0115','1215')'' at line 1

任何人都可以找到错误的位置吗?我尝试了一些解决方案但没有任何成功。

提前致谢。

3 个答案:

答案 0 :(得分:1)

删除此表达式末尾的单引号

INSERT into cols_ponto_diaria values 

请勿在表达式的末尾附加单引号。

."'"

答案 1 :(得分:1)

您可以在准备好后立即打印$ query_col轻松找到它。

无论如何,我认为错误是在implode()调用中。你不需要额外的报价。

所以而不是

$query_col = "INSERT into cols_ponto_diaria values '".implode(",", $queries_cols)."'";

$query_col = "INSERT into cols_ponto_diaria values ".implode(",", $queries_cols);

答案 2 :(得分:0)

找到解决方案。我尝试了几件事,但我忘了尝试这种方法。 :(

抱歉令人不安。

这是正确的语法:

$query_col = "INSERT into cols_ponto_diaria values ".implode(",", $queries_cols);

问候