SQLSTATE[HY000]: General error: xxxx Prepared statement needs to be re-prepared

tp5 SQLSTATE[HY000]: General error: 1615 Prepared statement needs to be re-prepared

 TP操作数据库操作报错 SQLSTATE[HY000]: General error

解决办法:

\config\database.php加上

'options' => [
\PDO::ATTR_EMULATE_PREPARES => true
]

SQLSTATE[HY000]: General error: xxxx Prepared statement needs to be re-prepared

 

 

 

 

SQLSTATE[HY000]: General error xxxx

这个错误是 由于$this->query引起的,在3.2.3版本下读写操作要query和execute方法分开调用,否则调试模式下面会报错

由于TP框架在3.2.3之后,要求读写操作使用不同的方法调用,如果错误使用了,则在非调试模式下会报错。

 
  1. 读数据使用 $this->query

  2. 写数据使用 $this->execute

在TP5之后的写法为:

 
  1. 读数据使用 Db::query

  2. 写数据使用 Db::execute