2015-12-01 3 views
0

, как мне нужно, это петля в php для вставки данных до 6 строк. Потому что, если я использую этот код, он просто появляется только после вставки и не повторяется.Looping для pg_fetch_row

while ($row=pg_fetch_row($sql1)) 
{ 
$sqlinsert="insert into rpt_printing_detail values ( '$row[0]','$row[1]','$row[2]','$row[3]','$row[4]','$row[5]','$row[6]','$row[7]','$row[8]','$row[9]')"; 
} 

Для данных, как этот enter image description here

Мой код просто вставить одну вставку:

insert into rpt_printing_detail values ('201501', 'Detail Billing', '1', '1', '16397', '0', '0', '0', '0', '0') 
+0

Вы пытались выполнить запрос '$ sql1'? Ваш запрос возвращает несколько строк или только одну строку? Можете ли вы показать результат '$ sql'? –

ответ

0

Ваш код создает SQL запрос в виде строки. Он ничего не делает с базой данных.

Предположительно позже оператор вне цикла выполняет запрос в переменной, например:

while ($row=pg_fetch_row($sql1)) 
{ 
$sqlinsert="insert into rpt_printing_detail values ( '$row[0]','$row[1]','$row[2]','$row[3]','$row[4]','$row[5]','$row[6]','$row[7]','$row[8]','$row[9]')"; 
} 
pg_query($sqlinsert); 

Поскольку существует только один запрос - вы перезаписать его с каждого цикла - это только делает одно изменение.

Независимо от проблемы здесь у вас есть основная ошибка. Прочитайте the PHP documentation on SQL injection, затем используйте pg_query_params или предпочтительно PDO.