[英]PHP Prepared Statements function
我想创建一个“通用”函数来处理我在PHP中准备的所有语句。
即,我想要一个像
function doStmt($sqlQuery,$types,$arg1,...,$argN) {
(...)
if(!$stmt = $mysqli->prepare($sqlQuery)) //error blah blah;
if (!$stmt->bind_param($types, $arg1,...,$argN)) //error ...;
if (!$stmt->execute()) //error ...;
$stmt->close();
return true;
}
我的问题主要与如何动态地将N参数设置为doStmt
函数有关,然后如何将它们传递给bind_param
。
我之所以需要这种功能,是因为我每次使用准备好的语句时都不需要检查错误和关闭。
试试这个:
function doStmt() {
// You could use func_num_args() get how many arguments do you have...
$argList = func_get_args();
$sqlQuery = array_shift($argList);
$types = array_shift($argList);
// echo $sqlQuery;
// echo $types;
// print_r($argList);
$stmt = $mysqli->prepare($sqlQuery);
call_user_func_array(array($stmt, 'bind_param'), $argList);
}
doStmt('select ... ? ... ? ... ? ...', 'sss', 'string1', 'string2', 'string3');
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.