【发布时间】:2013-03-20 23:05:08
【问题描述】:
完全错误:
Fatal Error: Uncaught exception 'PDOException' with message
'SQLSTATE[HY000]: General error -1 from storage engine'
in C:\MyApacheDir\MyPHPFile.php:33
第 33 行是我的 PDO 准备语句的 ->execute()。这种行为并不总是发生;当执行完全相同的操作时,它可能不会发生。
我的查询:
// 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();
}
其中permitArr 包含Array[index][info] 形式的权限数组,其中[info] 是分别对应于用户和访问级别的0 或1。
如前所述,此错误仅在某些时候发生;完全相同查询的其他迭代(字面意思是传递相同的信息)工作正常。
有人知道-1 错误代码是由什么引起的吗?可能只是搜索能力差,但我在任何地方都找不到。
我正在使用 IE8 中的 MySQL 5.6 使用 Apache 2.2 localhost。
【问题讨论】:
-
MySQL 服务器的日志中有什么内容?看起来您引用的错误来自 PHP 日志,但 MySQL 日志可能会提供一些额外的见解。