Ошибка в работе обработчика

Отправляю POSTом несколько строк в обработчик.

Часть кода обработчика

     for($i=1; $i<=$countNum; $i++) {
      $date = $_POST['date' .$i];
      $name_drivers_waybill = $_POST['name_drivers_waybill'. $i];
      $number_auto_waybill = $_POST['number_auto_waybill'. $i];
//Вот тут проблема начинается
$query = $pdo->query("SELECT * FROM waybills WHERE date = '$date'");
    $dataCount = $query->fetchAll();
    $count = count($dataCount);
    $numberWay = $selectstate['numberWay'];
//Конец
    if($arrDate[0] == 1){
        $numberWay = 1+$count;
    } else {
        $numberWay = ($arrDate[0]-1)*$countNum +$count;
        }

    if($numberWay < 10){
        $numberWay = '0' . $numberWay;
    }


    
    
      $typeWB = $_POST['typeWB' . $i];    
      $sql = "INSERT INTO waybills (date,drivers, number_auto, typeWB) VALUES (:date, :name_drivers, :numberAuto, :typeWB)";
      $query = $pdo->prepare($sql);
      $query->execute(['date'=>$date,'numberAuto'=>$number_auto_waybill, 'name_drivers'=> $name_drivers_waybill, ,'typeWB'=>$typeWB]);
    }

Выдает ошибку. С чем связана? Fatal error: Uncaught PDOException: SQLSTATE[HY000]: General error: 2014 Cannot execute queries while other unbuffered queries are active. Consider using PDOStatement::fetchAll(). Alternatively, if your code is only ever going to run against mysql, you may enable query buffering by setting the PDO::MYSQL_ATTR_USE_BUFFERED_QUERY attribute.


Ответы (1 шт):

Автор решения: Игорь Петров

Сделал так и заработало

 $sth = $pdo->prepare("SELECT * FROM waybills WHERE date = :date");
    $sth->execute(['date'=>$date]);
    $data = $sth->fetchAll();
    $count = count($data);
→ Ссылка