Вызов неопределенного метода PDO :: bindParam ()

Может кто-нибудь сказать мне, почему я получаю эту ошибку? Вызов неопределенного метода 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"; 

Solutions Collecting From Web of "Вызов неопределенного метода PDO :: bindParam ()"

Метод 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 должны помочь.