2013-09-23 113 views
-3

我做在PHP預處理語句一些工作。我的任務是首先從一個表中選擇一些數據,然後將數據插入到另一個表中。如何在準備好的語句中使用while循環插入記錄?PHP預處理語句與while循環

下面是代碼:

stmt=$db->prepare("SELECT userid, order_number, balance from plus_wallet limit 0,3"); 
$stmt->execute(); 
$stmt->bind_result($userid, $orderid, $balance); 
while($stmt->fetch()) { 
    $stmt1=$db->prepare("INSERT INTO `plus_user_wallet`(`userid`, `balance`, `update_time`) VALUES (?,?, NOW() + INTERVAL 45000 second)"); 
    $stmt1->bind_param('ss' , $userid, $balance); 
    $stmt1->execute(); 
    $stmt1->close(); 
    $stmt->close(); 
} 
+3

請顯示一些代碼,否則很難幫助你。 – Alasjo

+0

兄弟,我們不是魔術師......我們不能讀你的心...發佈您的代碼.. – Kalpit

+0

我所提供的代碼..請檢查代碼,並幫助我 –

回答

1

如果不需要order_number領域的其他地方,你會選擇它,因爲它是在表中,你可以使用:

insert into 
plus_user_wallet 
    (userid,balance,update_time) 
select 
    userid,balance,now()+interval 45000 second 
from 
    plus_wallet 
limit 
    0,3; 

你可以如果您需要單個userid的價值,將where userid=?加入到from plus_wallet

很明顯,如果你確實需要在其他地方使用order_number,那麼你將需要一個循環系統。

的幾個注意事項關於您的代碼:

  • 準備$stmt1外while循環 - 這是後while循環
  • 關閉所有準備語句的準備好的聲明的一點是完全
+0

它真棒..它沒有工作對我來說...我來學習新的東西..驚人.. –

+0

@daveboy:請我的導師。並教我php&mysql ..如果可能的話。向你學習很好。 –

+0

好的..這是偉大的..我怎麼能寫這個代碼在準備好的語句風格......?請原諒我,因爲我對準備好的陳述不太熟悉並且不熟悉它... –