我使用以下代码将多个数组插入到我的数据库中:
$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
任何人都可以找到错误的位置吗?我尝试了一些解决方案但没有任何成功。
提前致谢。
答案 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);
问候