2017-07-23 53 views
1

我正在處理大量的SQL查詢。雖然我還沒有掌握PDO,但我希望能來這裏尋求幫助,因爲我之前的搜索沒有提供太多的幫助。我確實碰到過this link on SO,但它似乎有點超出了我的工作範圍PDO在一個語句中綁定多個值

考慮下面的代碼,它工作100%;

public function composeMsg($userID, $toUser, $subject, $msg, $sentOn){ 
     $db = DB::getInstance(); 
     $sql = "INSERT INTO messages (userID, fromID, subject, body, senton) values (:userID, :toUser, :subject, :msg, :sentOn)"; 
     $stmnt = $db->prepare($sql); 
     //NOT EFFICIENT 
     $stmnt->bindValue(':userID', $userID); 
     $stmnt->bindValue(':toUser', $toUser); 
     $stmnt->bindValue(':subject', $subject); 
     $stmnt->bindValue(':msg', $msg); 
     $stmnt->bindValue(':sentOn', $sentOn); 

     $stmnt->execute(); 
     if($stmnt->rowCount() > 0){ 
      return true; 
     } 
     else{ 
      return false; 
     } 
    }//FUNCTION 

林發現自己連續鍵入$stmnt->bindValue(':value', $value)多次如可以從代碼中可以看出以上我正在尋找PDO功能的構建或類似的東西,我可以利用它來避免所有的重複。

任何建議歡迎

+0

感謝奈傑爾我只是偷看將更檢驗。對於像我這樣的初學者來說令人沮喪的事情是,PHP手冊通常可能過於複雜且難以掌握,許多示例過於複雜 –

回答

2

結合所有這些作爲的執行部分...

$stmnt->execute([':userID'=> $userID, 
     ':toUser'=> $toUser, 
     ':subject' => $subject, 
     ':msg' => $msg, 
     ':sentOn' => $sentOn]); 
+0

我得到了感謝伴侶 –