[英]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.