簡體   English   中英

PHP的while循環插入MySQL

[英]php insert mysql with while loop

我想從mySQL表中獲取數據,並想將每行(我的查詢獲得)插入到另一個表中。

通過以下代碼,我得到了我的數據:

$cart = new Dbconn();
$query = new Dbconn();
if ($cart->pdo()) {
   $cart->stmt("SELECT id, product FROM cart WHERE uid =:uid");
   $cart->bindParam(':uid', Session::get('uid'));
   $cart->exe();
}

獲得數據后,我想用while循環將其插入

while ($rowPay = $cart->fetch()) {
    if ($query->pdo()) {
       $query->stmt('INSERT INTO orders (products_id, order_id) VALUES(:uid, :products)');
       $query->bindParam(':user_id', Session::get('uid'));
       $query->bindParam(':products', $rowPay['product']);
       $query->exe();
    }
}

他獲取所有數據,但僅插入第一項。 我的錯誤在哪里?

問候

如果僅插入第一個條目,則您嘗試插入的參數存在問題。 您可能嘗試使用相同的主鍵插入幾行。 我需要知道每個表的主鍵在哪里,以便為您提供更多幫助。

$ payCart-> fetch()提取單行,$ payCart-> fetchAll()提取所有行。

這樣嘗試

while ($rowPay = $payCart->fetchAll(PDO::FETCH_ASSOC)) {
       if ($query->pdo()) {
           $query->stmt('INSERT INTO orders'
                       .'(products_id, order_id)'
                       .'VALUES(:uid, :products)');
           $query->bindParam(':user_id', Session::get('uid'));
           $query->bindParam(':products', $rowPay['product']);
           $query->exe();}}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM