2013-04-27 76 views
0

我有一個string array,我試圖將這個數組中的每個數據插入到foreach循環內的mySQL。但我意識到它並沒有插入所有這些。有時插入全部,有時會插入其中一些。我的代碼如下。請讓我弄清楚我的問題在這裏。PHP不插入在foreach循環中的mySQL

foreach($cbarray as $chvalue){ 
    list($kid, $odemeopt) = explode('-',$chvalue); 
    $i_tr="trp".$kid; 
    $i_en="enp".$kid; 
    $i_fr="frp".$kid; 

    $tr_kargop=doubleval($_POST[$i_tr]); 
    $en_kargop=doubleval($_POST[$i_en]); 
    $fr_kargop=doubleval($_POST[$i_fr]);                

    if($odemeopt==1){ 
     $ik_tr="trk".$kid; 
     $ik_en="enk".$kid; 
     $ik_fr="frk".$kid;       
    } 
    $tr_kargoextra=doubleval($_POST[$ik_tr]); 
    $en_kargopextra=doubleval($_POST[$ik_en]); 
    $fr_kargopextra=doubleval($_POST[$ik_fr]);                

$myquery = "INSERT INTO item_kargo(product_id,kargo_id,kargo_priceTR,kargo_priceEN,kargo_priceFR,odemefarkiTR,odemefarkiEN,odemefarkiFR) VALUES ('$next_increment','$kid','$tr_kargop','$en_kargop','$fr_kargop','$tr_kargoextra','$en_kargopextra','$fr_kargopextra')"; 
    echo "<h2>".$myquery."</h2>"; 

    $kargo_bilgisi=mysql_query($myquery) or die("!!hata kargooo :".mysql_error()); 
} 

這是myquery

INSERT INTO item_kargo(product_id,kargo_id,kargo_priceTR,kargo_priceEN,kargo_priceFR,odemefarkiTR,odemefarkiEN,odemefarkiFR) VALUES ('4','1','1','1','1','','','') 

INSERT INTO item_kargo(product_id,kargo_id,kargo_priceTR,kargo_priceEN,kargo_priceFR,odemefarkiTR,odemefarkiEN,odemefarkiFR) VALUES ('4','2','2','2','2','','','') 

INSERT INTO item_kargo(product_id,kargo_id,kargo_priceTR,kargo_priceEN,kargo_priceFR,odemefarkiTR,odemefarkiEN,odemefarkiFR) VALUES ('4','4','3','3','3','3','3','3') 
+0

您可以在運行它並在此打印之前回顯查詢嗎? – ncm 2013-04-27 09:23:37

+5

在查詢之後使用'mysql_error()'來查看是否出現了問題(這裏顯然是這樣)。此外,您應該查看[PDO](http://php.net/pdo)和[mysqli](http://php.net/mysqli),因爲不推薦使用mysql_x。 – Sirko 2013-04-27 09:24:45

+0

'$ next_increment'和'$ cbarray'的值是什麼? – eggyal 2013-04-27 09:26:37

回答

0

的結果。如果你不能得到mysql_error(),您可以「回聲」用的var_dump(你的數據你的錯誤),所以你可以看到你是如何數組正在建立。這有助於我經常在一些循環中找出我的錯誤。