Может кто-нибудь сказать мне, почему я получаю эту ошибку? Вызов неопределенного метода 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";
Метод 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";
Функция bindParam () является методом объекта PDOStatement
, а не объекта PDO. $stmt
– объект класса PDO
. Вам придется использовать PDOStatement
из вашего вызова prepare()
.
$pdo = db::getInstance(); $stmt = $pdo->prepare("your query"); $stmt->bindParam(2122, $return_value, PDO::PARAM_STR, 4000);
$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 должны помочь.