【发布时间】:2014-01-26 05:28:32
【问题描述】:
我是 PHP 的 PDO 新手,我的数据库类的函数遇到了一点问题:
function set($query, $args = array()) {
try {
$query = $this->rs->prepare($query);
$x = 1;
foreach($args as $arg) {
$query -> bindValue($x, $arg);
$x++;
}
$query->execute($args);
}
catch(PDOException $e) {
print_r($e);
}
}
它应该自动绑定“?”在查询到它们在数组$args中的值。
例子:
$db -> set("INSERT INTO messages(date,regard,sender,to,msg) VALUES('?','?','?','?','?')", array(
"bla",
"bla2",
"bla3",
"bla4",
"bla4"
));
但它不起作用。在数据库中,所有列都包含那些愚蠢的问号。问题出在哪里?
【问题讨论】:
-
你试过了吗?没有引号?
-
旁注:
to是保留字,需要用反引号括起来。 dev.mysql.com/doc/refman/5.5/en/reserved-words.html 在你的(date,regard,sender,to,msg)