Вызов метода 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);
Ответ 3
$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 должно помочь.