有人能告诉我为什么会收到此错误吗?调用未定义的方法PDO :: bindParam()
这就是我所拥有的,直接从PHPs站点获取存储过程
$stmt = db::getInstance();
$stmt->prepare("CALL delete(?)");
$stmt->bindParam(2122, $return_value, PDO::PARAM_STR, 4000);
$stmt->execute();
print "procedure returned $return_value\n";
答案 0 :(得分:16)
bindParam()
方法位于PDOStatement
类内,而不是PDO类。该陈述是prepare()
方法的结果。
$foo = db::getInstance();
$stmt = $foo->prepare("CALL delete(?)");
$stmt->bindParam(2122, $return_value, PDO::PARAM_STR, 4000);
$stmt->execute();
print "procedure returned $return_value\n";
答案 1 :(得分:4)
bindParam()函数是PDOStatement
对象的方法,而不是PDO对象。 $stmt
是类PDO
的对象。您必须使用PDOStatement
来电中的prepare()
代替。
$pdo = db::getInstance();
$stmt = $pdo->prepare("your query");
$stmt->bindParam(2122, $return_value, PDO::PARAM_STR, 4000);
答案 2 :(得分:2)
$stmt = db::getInstance();
$query = $stmt->prepare("CALL delete(?)");
$query->bindParam(2122, $return_value, PDO::PARAM_STR, 4000);
$query->execute();
您需要调用PDOStatment :: bindParam。 prepare方法返回PDOStatment对象。 The PHP PDO/PDOStatment manuals should help.