我正在尝试创建一个 PDO 函数,但在绑定参数方面遇到了困难。通常我会使用 :field 方法,但在这种情况下,我不知道变量的数量或名称。
function fetch($field,$table,$query,$values){
global $kdb;
$sql = "SELECT $field FROM $table $query";
$stmt = $kdb->prepare($sql);
$num = 1;
foreach($values as $value){ $stmt->bindParam($num, $value); $num += 1;}
$stmt->execute();
$row = $stmt->fetch();
return $row;
}
这将在这样的页面上调用(稍后我将添加过程以避免注入)
print_r(fetch("*","user","WHERE `ID` = ? AND `forename` = ?",array('1','Robin')));
我认为问题在于$stmt->bindParam($num, $value);
但我不明白为什么。