【问题标题】:MySQL Error: This command is not supported in the prepared statement protocol yetMySQL 错误:准备好的语句协议尚不支持此命令
【发布时间】:2012-09-16 04:15:14
【问题描述】:

当我在 MySQL 查询的开头和结尾使用 START TRANSACTIONCOMMIT 时出现以下错误。

SQLSTATE[HY000]: General error: 2030 This command is not supported in the prepared statement protocol yet

SQL: START TRANSACTION

Bindings: array (
)

在 Larvel,我做到了:

DB::query('START TRANSACTION');

我正在使用 PHP 框架 Laravel,它使用 PDO 来访问 MySQL。我该怎么办?

【问题讨论】:

  • 需要 PHP 和 MySQL 的版本号
  • 我运行的是旧版本的mysql,谢谢!升级中..
  • 请将问题标记为已解决并使用解决方案编辑您的帖子!
  • @mblaettermann 您没有将帖子标记为已解决。您选择最佳答案。在这种情况下,没有提供解决方案的答案,因此 OP 应该提供一个 - 不要编辑帖子
  • 我选择的下面的帖子解决了这个问题,同时升级了 MySQL。为什么投反对票? :(

标签: php mysql sql pdo laravel


【解决方案1】:

Laravel 已经支持事务查询。

DB::transaction(function ()
{
    // query goes here.
    DB::table('foo')->insert(array('foo' => 'bar'));
});

【讨论】:

  • 请同时回答问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-01-12
  • 1970-01-01
  • 2011-09-16
相关资源
最近更新 更多