Вопрос по php, sql, mysql, html – Цикл над вставкой Query in PHP

0

У меня проблемы с вставкой того же значения N раз в SQL через скрипт PHP. У меня есть это все?

Table Info  column (ID,Name, LastName,)
Valus ('',Alain,Alian);

Что я хочу сделать, это вставить это значение в ту же таблицу 10 раз, используя цикл while для E.G Или что-то типа того любая идея?.

<?php
    $i=1;
    While ($i<= 5)      
    {
       $sql="INSERT INTO arivage
          (ID_Ship,Date_ariv,Date_achat,prov_id,Sph,cyl,Prod_type,Pord_color)
          VALUES
          ('','$date','$date1','$prov_id','$sph','$cyl','$Prod_type','$Pord_color')";
       $i++;
    }
?>
в чем ошибка Grumpy
Вы только делаете строку с запросом. Вы должны выполнить запрос к. Используйте mysql_query ($ sql); в вашем цикле. Также вы должны установить соединение с базой данных, прежде чем сможете выполнять запросы. Ron van der Heijden

Ваш Ответ

4   ответа
0

Вы должны добавить

mysql_query($sql);

в ваш код, так что запрос выполняется между циклами.

$i=1;
While ($i<= 5)      
{
 $sql="INSERT INTO arivage
 (ID_Ship,Date_ariv,Date_achat,prov_id,Sph,cyl,Prod_type,Pord_color)
 VALUES('','$date','$date1','$prov_id','$sph','$cyl','$Prod_type','$Pord_color')";

 mysql_query($sql);

    $i++;
}
0

$sql= "INSERT INTO TABLE_NAME(field1,field2) VALUES( ";
    for($i=0;$i<10;$i++)
    {
       $sql.="('value1', 'value2'), "
    }
    $sql.=" )";
Я думаю, что это должно быть так же, как значения (), (), (). , , и т.п.
Последняя итерация добавит запятую, и запрос будет завершен («значение1», «значение2»),). Я думаю, что это приведет к ошибке.
3

то, что вам нужно, возможно

$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
  die('Could not connect: ' . mysql_error());
}

for($i = 0; $i<10; $i++) {
    $sql="INSERT INTO arivage (ID_Ship,Date_ariv,Date_achat,prov_id,Sph,cyl,Prod_type,Pord_color) VALUES ('','$date','$date1','$prov_id','$sph','$cyl','$Prod_type','$Pord_color')";
    $result = mysql_query($sql);
    if (!$result) {
     die('Invalid query: ' . mysql_error());
    }
}
1

что у вас есть соединение с базой данных (с помощью mysql_connect () + mysql_select_db ()), а также выполните ваш запрос после его составления (с помощью mysql_query ($ sql)).

Мне нужно знать, что тип данных столбцаID_Ship? ЭтоPRIMARY KEY а такжеauto_increment? Если да, то вам нужно изменить свой запрос с:

INSERT INTO arivage (ID_Ship,Date_ariv,Date_achat,prov_id,Sph,cyl,Prod_type,Pord_color) 
VALUES ('','$date','$date1','$prov_id','$sph','$cyl','$Prod_type','$Pord_color')

чтобы:

INSERT INTO arivage (Date_ariv,Date_achat,prov_id,Sph,cyl,Prod_type,Pord_color) 
VALUES ('$date','$date1','$prov_id','$sph','$cyl','$Prod_type','$Pord_color');

Примечание. ID_ship удален, и "apos;" также удаляется.

Это удаление предотвращает вставку одного и того же первичного ключа для 2-й, 3-й и т. Д. Записей. Помните, что первичный ключ должен быть уникальным. Не указав его, MySQL вставит сгенерированное значение (потому что это auto_increment).

Похожие вопросы