2017-02-23 10 views
0

**私の目的:**各I_Nameごとに各I_CodeのDbにQtyを挿入します。PHPを使用してmysqlで次のクエリを書く方法

予想される出力

 stock_color 
I_Code I_Qty I_Name 
M1  50  PYC 
M2  50  PYC 
M1  25  P285C 
M3  70  P285C 
M4  15  P285C 

PHP + MySQLの今

$ink={M1,M2,M1,M3,M4}; 
$Qty={50,50,25,70,15}; 
$ink_name={PYC,P285C}; 

for($j=0;$j<count($ink_name);$j++) 
{ 
     $sql[] = "insert into stock_color (I_Code,I_Qty,I_Name) values ('$ink[$j]','$Qty[$j]','$ink_name[$j]')" 
       foreach ($sql as $query) { 
         mysqli_query($query,$con); 
        }   
} 

、コードが動作しますが、間違ったresults.Pleaseで事前に

+3

あなたはPAを交換する必要がありますあなたの 'mysqli_query'の中で驚いています。 foreach-loopはfor-loopの内側にあってはいけません。 – MrDarkLynx

+1

一般に、ループ内ではクエリを実行しないでください。しかし、pdoでパラメトリッククエリを使用している場合(これはあなたがしなければならないことです)、その逆が真です! – Strawberry

+0

'mysqli_query($ con、$ query);' – Akshay

答えて

0

このコードを試してみてください、私out.Thanksを助けている

<?php 
$ink=array('M1','M2','M1','M3','M4'); 
$Qty=array(50,50,25,70,15); 
$ink_name=array('PYC','PYC','P285C','P285C','P285C'); 

for($j=0;$j<count($ink_name);$j++) 
    { 
    //$sql .= "insert into stock_color (I_Code,I_Qty,I_Name) values ('$ink[$j]','$Qty[$j]','$ink_name[$j]')"; 
    if($j==0){ 
     $sql .= " ('$ink[$j]','$Qty[$j]','$ink_name[$j]')"; 
    } else { 
     $sql .= ", ('$ink[$j]','$Qty[$j]','$ink_name[$j]')"; 
    } 

    } 
    echo $final_query = "insert into stock_color (I_Code,I_Qty,I_Name) values " .$sql; 
?> 
+0

しかし、非常に多くのエントリがあるかもしれません、私は手動で書き込むことはできません。この場合の – Babaji

+0

は他の解決策が必要です。解決策を教えてください。 –

+0

このコードをチェックすることができます –

関連する問題