Я использую следующий (или похожий) код на сотнях созданных мной страниц:
$stmt = $db->prepare("SELECT * FROM table");
$stmt->execute();
while($row = $stmt->fetch()) {
$id = $row['id'];
$name = $row['name'];
do something with data returned...
$id = NULL;
$name = NULL;
}
Из ниоткуда я начал получать следующую ошибку на нескольких страницах:
Неустранимая ошибка: необработанное исключение 'PDOException' с сообщением
«SQLSTATE [HY000]: общая ошибка» в C: .... page.php: 28 трассировки стека: # 0
C: .. page.php (28): PDOStatement-> fetch () # 1 {main} брошено
Первый цикл будет запущен (без проблем), но выдает ошибку ПОСЛЕ первого цикла. Код ошибки (строка 28) ссылается на строку:
while($row = $stmt->fetch()) {
Я никогда не видел этого раньше. В качестве теста я изменил код, чтобы сохранить все возвращенные результаты как:
$stmt = $db->prepare("SELECT * FROM table");
$stmt->execute();
$rows = $stmt->fetchALL();
foreach($rows as $row) {
$id = $row['id'];
$name = $row['name'];
do something with data returned...
$id = NULL;
$name = NULL;
}
и система работает. Есть идеи, почему?