我最近推出了基于Laravel的网站,我没有遇到任何问题,但是在我检查它的40分钟之前我收到了这个错误:
SQLSTATE[HY000]: General error: 1615 Prepared statement needs to be re-prepared (SQL: select * from `users` where `id` = 1 and `remember_token` = mfjLlbv3fR49TYGAqmUgBSqVVAKmoHhq26ws8rojuXxee5qWcvHrcdoTXs6W limit 1)
为什么会这样?一切都很好,现在突然间我什么也做不了。
答案 0 :(得分:6)
当mysqldump正在进行时会发生此错误。哪个数据库转储正在进行并不重要。等待转储完成,此错误将消失。
问题在于转储的表定义会导致此错误。
干杯,
苏伦
答案 1 :(得分:1)
你好我得到了同样的错误,几次刷新后就没了。也许mysqldump是问题的根源。
当我记录mysqldump没有运行,但也许它已经完成,因为当我刷新时没有错误
答案 2 :(得分:1)
似乎可以添加
'options' => [
\PDO::ATTR_EMULATE_PREPARES => true
]
DB配置中的projectName / config / database.php文件。它会是这样的:
'mysql' => [
'driver' => 'mysql',
'host' => env('DB_HOST', 'localhost'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
'strict' => false,
'options' => [
\PDO::ATTR_EMULATE_PREPARES => true
]
],
Laravel 5.1。希望它会有所帮助!