0

完整错误:

Fatal Error: Uncaught exception 'PDOException' with message 
'SQLSTATE[HY000]: General error -1 from storage engine'
in C:\MyApacheDir\MyPHPFile.php:33

第 33 行是->execute()我的 PDO 准备好的语句。这种行为并不总是发生;当执行完全相同的操作时,它可能不会发生。

我的查询:

// Make new permissions
$sql = "INSERT INTO permissions (
      doc_id,
      user_id,
      write_access 
    ) VALUES (
      :doc_id,
      :user_id,
      :write_access
    );";
$stmt = $dbConn->prepare($sql);

ForEach ($permitArr as $permit) {
  $stmt->bindValue(":doc_id", $_POST['doc_id'], PDO::PARAM_INT);
  $stmt->bindValue(":user_id", $permit[0], PDO::PARAM_INT);
  $stmt->bindValue(":write_access", $permit[1], PDO::PARAM_INT);
  $stmt->execute();
}

其中包含形式为 0 或 1permitArr的权限数组,Array[index][info]分别对应于用户和访问级别。[info]

如前所述,此错误仅有时会发生;完全相同查询的其他迭代(字面意思是传递相同的信息)工作正常。

有人知道-1错误代码是由什么引起的吗?也许这只是较差的搜索技能,但我无法在任何地方找到它。

我正在使用 IE8 中的 MySQL 5.6 使用 Apache 2.2 localhost。

4

1 回答 1

1

好像很腥 我找不到那个数字的错误,所以这通常意味着有一个外部因素在起作用。我会尝试以下方法:

1.) 创建一个新表并在新表上尝试代码。

2.) 使用新表创建新模式并再次尝试代码。

3.) 在您的驱动器上运行 chkdsk 以确保没有任何集群问题。

4.) 重启。

于 2013-03-20T15:05:08.530 回答