【发布时间】:2011-01-11 16:41:39
【问题描述】:
我正在尝试将参数约束从数组传递给 PDO,即
public function write($sql,$bindparams=''){
try{
$stmt = $this->db_connection->prepare($sql);
if($bindparams != '' && is_array($bindparams)){
foreach($bindparams as $k){
$b = $k[0]; //parameter to bind to
$v = $k[1]; //the value
$c = $k[2]; //the parameter constraint(i.e. PDO::PARAM_STR)
$stmt->bindParam($b,$v,$c);
}
$stmt->execute();
}
}
catch(PDOException $e){
echo 'Error acquiring data: '.$e->getMessage();
exit();
}
}
但是,它似乎窒息 - 如果我将常量传递给它,该函数会接收整数,并且它不会接受字符串描述
【问题讨论】:
-
嗨,我想用这个。如何使用此功能?我将只传递带有占位符示例
INSERT INTO table VALUES(:var1)然后第二个参数array(':var1'=>'var1value')的sql 语句,对吗? -
是的,没错 - 主要是你必须将 :var 占位符放在你的 sql 字符串中
标签: parameters pdo named-parameters