この問題は私を夢中にさせています...
最初の免責事項ですが、私は正式なプログラミングのトレーニングをほとんど受けていません。私はこれにつまずいています。
一般エラー: 2014 エラーが表示されます。最初は、(クラスで確立された) 1 つの特定のクエリであり、警告は、オブジェクトをインスタンス化しているコード内の場所に依存していました。すべてのクエリを fetchAll に変更し、fetchAll が機能しなかった後、すべてのクエリのカーソルを閉じました。現在、問題のあるクエリが 2 つあります。ここに1つのコピーと貼り付けがあります:
(更新されたコード):
$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'];
}
}
問題があるかどうかは定かではありませんが、「if」で警告がスローされます。私の知る限り、すべての「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
));
提案?