我遇到麻烦解决这个问题,我得到了
调用未定义的方法 蛋糕\数据库\ LOG \ LoggingStatement :: bindParam()
使用过程调用在数据库中保存数据时出错。
这是我的帖子方法代码......
if ($this->request->is('post')) {
$pi_classroom_name = $this->request->getData('classroom_name');
$pi_grade = $this->request->getData('grade');
$pi_subject = $this->request->getData('subject');
$pi_user_id = 1;
$sql = 'CALL jh_add_update_classroom(:pi_classroom_id,:pi_classroom_name,:pi_grade,:pi_subject,:pi_user_id,@po_classroom_id,@po_status,@po_status_message)';
$stmt = $this->connection->prepare($sql);
$stmt->bindParam(':pi_classroom_id', null, PDO::PARAM_STR);
$stmt->bindParam(':pi_classroom_name', $pi_classroon_name, PDO::PARAM_STR);
$stmt->bindParam(':pi_grade', $pi_grade, PDO::PARAM_STR);
$stmt->bindParam(':pi_subject', $pi_subject, PDO::PARAM_STR);
$stmt->bindParam(':pi_user_id', $pi_user_id, PDO::PARAM_STR);
$stmt->execute();
$stmt->closeCursor();
}
答案 0 :(得分:1)
如错误消息所示,没有这样的方法。您不是在本机\PDOStatement
对象上运行,而是在\Cake\Database\Log\LoggingStatement
对象(扩展\Cake\Database\StatementInterface
实现)上运行,正确的绑定方法是{{1} }或bind()
。
bindValue()
另见