2012-04-19 17 views
0

PHPスクリプトを使用してSQLに同じ値をN回挿入する際に問題があります。 私はこのvslueを持っていますか?挿入時のループ

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

私がやりたいWhataは、例えば か、その ような何か任意のアイデアのためにWhileループを使用して、同じテーブルで10回をこの値を挿入?です。

<?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++; 
    } 
?> 
+0

whats the error – Grumpy

+0

クエリで文字列を作成するだけです。にクエリを実行する必要があります。 mysql_query($ sql)を使用します。あなたのwhileループで。また、クエリを実行する前に、データベースに接続する必要があります。 –

答えて

3

はあなたにいくつかのエラーをお持ちですか?これはうまくいくかもしれない。これを試してみてくださいあなたが必要なもの

は、クエリがサイクルの間に実行されるように、あなたはあなたのコードに

mysql_query($sql); 

を追加する必要があり

$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()); 
    } 
} 
0

$sql= "INSERT INTO TABLE_NAME(field1,field2) VALUES("; 
    for($i=0;$i<10;$i++) 
    { 
     $sql.="('value1', 'value2'), " 
    } 
    $sql.=")"; 
+0

私はそれがちょうどvalues()、()、()のようにすべきだと思います。 。 。 – Suleman

+0

最後の反復でコンマが追加され、( 'value1'、 'value2')、)でクエリが終了します。私はこれがエラーを生成すると思います。 –

0

実現可能です。

$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++; 
} 
1

私は、データベースへの接続を持っていると仮定し(にmysql_connectを使用しての()+ mysql_select_db())、また、(するmysql_query($ sqlを)によって)、それを構成した後にクエリを実行します。

私はカラムのデータ型が何であるかを知る必要がありますID_Ship?これはプライマリキーauto_increment? yesの場合は、からあなたのクエリを変更する必要があります。

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が除去され、 '' も削除されます。

この削除は、第2、第3などのレコードに対して同じ主キーを挿入しないようにするためです。主キーは一意でなければならないことに注意してください。これを指定しないと、MySQLは生成された値を挿入します(auto_incrementなので)。