2010-07-31 3 views
0

Я вставив несколько массивов в моей базе данных, используя этот код:Проблема Вставка нескольких массивов в базе данных

$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

Может кто-нибудь найти где ошибка? Я пробовал несколько решений, но безуспешно.

Заранее спасибо.

+1

Первый порт захода: Вывод фактического запроса, который получает генерируется с помощью 'эхо $ query_col;'. –

ответ

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); 
+0

Да, я понял. :) Спасибо, в любом случае. – l3gion

1

Удалите одинарную кавычку в конце этого выражения,

INSERT into cols_ponto_diaria values 

Не добавлять в одинарные кавычки в конце выражения.

."'" 
+0

Я увидел ваш ответ после того, как нашел решение. Спасибо, Шринивас Редди Тотипарти. – l3gion

0

Решение найдено. Я пробовал несколько вещей, и я забыл попробовать этот подход. . :(

Извините помехообразующих

Вот правильный синтаксис:

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

С уважением

Смежные вопросы