以下是我在准备声明中的尝试。它导致页面在此刻死亡,显然出现了问题。
function telephoneinsert($elector,$inputs,$outputs){
global $dbh;
$sql = "UPDATE electors SET $inputs WHERE ID=?";
$q = $dbh->prepare($sql);
$q->execute(array($outputs,$elector));
//UPDATE STATS
}
这是像这样在页面上调用的函数
telephoneinsert($Ielector,$inputs,$outputs);
其中$ inputs =一个已发布的数组,如果回显,则显示为name = ?, type =?
。故意rtrim'd摆脱最后一个逗号。
如果echo显示为benjamin,socialist
错误报告显示没有
$this->pdo->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING );
print_r($dbh->errorInfo());
答案 0 :(得分:1)
$outputs
包含以逗号分隔的字符串,但execute()
要求将参数作为数组元素传递。因此,您必须拆分字符串:
$q->execute(explode(',', "$outputs,$elector"));
答案 1 :(得分:0)
在你的数组中,你有2个元素
$q->execute(array($outputs,$elector));
但是你的sql中只有一个?
,数组元素的数量需要按顺序匹配问号的数量