Вызов метода undefined PDO:: bindParam()

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

Ответ 1

Метод 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";

Ответ 2

Функция bindParam() - это метод объекта PDOStatement, а не объект PDO. $stmt - объект класса PDO. Вам придется использовать PDOStatement из вашего вызова prepare().

$pdo = db::getInstance();
$stmt = $pdo->prepare("your query");
$stmt->bindParam(2122, $return_value, PDO::PARAM_STR, 4000);