2013-04-27 2 views
0

У меня есть string array, и я пытаюсь вставить все данные в этот массив в mySQL внутри цикла foreach. Но я узнал, что он не вставляет все из них. Иногда вставляйте все, иногда вставляйте некоторые из них. Мой код ниже. Пожалуйста, дайте мне понять, в чем моя проблема.PHP не вставляет в mySQL в цикл foreach

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

+5

Используйте 'mysql_error()' после запроса, чтобы увидеть, если что-то пошло не так (что здесь явно). Кроме того, вы должны взглянуть на [PDO] (http://php.net/pdo) и [mysqli] (http://php.net/mysqli), поскольку 'mysql_x' устарел. – Sirko

+0

Каковы значения '$ next_increment' и' $ cbarray'? – eggyal

ответ

0

Если вы не можете получить сообщение об ошибке от mysql_error() вы можете «эхо» данные с var_dump(), так что вы можете увидеть, как ваш массив создается. Это помогает мне часто определять мою ошибку в некоторых циклах.

Смежные вопросы