这个问题正在让我发疯......
首先免责声明,我很少接受正式的编程培训。我在这个过程中跌跌撞撞。
我收到一般错误:2014 错误;起初它是一个特定的查询(在一个类中建立),警告取决于我在代码中实例化对象的位置。我继续将每个查询更改为 fetchAll,然后在 fetchAll 不起作用后关闭每个查询的游标。现在有两个有问题的查询。这是一个的复制和粘贴:
(更新代码):
$sql = "select initial_state from source_nodes where id = :id";
$core = Core::getInstance();
$stmt = $core->dbh->prepare($sql);
$stmt->bindParam(':id', $allSources->id[$id], PDO::PARAM_INT);
if ($stmt->execute()) {
$row = $stmt->fetchAll();
$stmt->closeCursor();
foreach($row as $i=>$value){
$allSources->state[$id] = $row[$i]['initial_state'];
}
}
不确定它是否重要,但会在“如果”上发出警告。据我所知,每个 'fetch' 现在都是一个 'fetchAll' 并包含一个 'closeCursor'。
连接设置如下:
$this->dbh = new PDO($dsn, $user, $password, array(
PDO::ATTR_PERSISTENT => true,
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::MYSQL_ATTR_USE_BUFFERED_QUERY =>true
));
建议?