Вызов неопределенного метода PDO :: bindParam () - PullRequest
11 голосов
/ 13 января 2010

Может кто-нибудь сказать мне, почему я получаю эту ошибку? Вызов неопределенного метода PDO :: bindParam ()

Вот что у меня есть, взято с сайта PHP для хранимых процедур

$stmt = db::getInstance();
$stmt->prepare("CALL delete(?)");
$stmt->bindParam(2122, $return_value, PDO::PARAM_STR, 4000);
$stmt->execute();
print "procedure returned $return_value\n";

Ответы [ 3 ]

16 голосов
/ 13 января 2010

Метод 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";
4 голосов
/ 13 января 2010

Функция 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 голосов
/ 13 января 2010
$stmt = db::getInstance(); 
$query = $stmt->prepare("CALL delete(?)"); 
$query->bindParam(2122, $return_value, PDO::PARAM_STR, 4000); 
$query->execute();

Вы должны вызывать PDOStatment :: bindParam. Метод prepare возвращает объект PDOStatment. Должны помочь руководства PHP PDO / PDOStatment.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...