我正在处理大量的SQL查询。虽然我还没有掌握PDO,但我希望能来这里寻求一些帮助,因为我之前的搜索在帮助方面没有提供太多帮助。我确实遇到过this link on SO,但似乎有点超出了我的工作范围
考虑以下代码,它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 :(得分:2)
将它们作为执行的一部分绑定...
$stmnt->execute([':userID'=> $userID,
':toUser'=> $toUser,
':subject' => $subject,
':msg' => $msg,
':sentOn' => $sentOn]);