PDO MySQL вызывает запрос небуферизованных запросов

Я исследовал онлайн, но большинство примеров или инструкций, похоже, не относятся к тому, что я пытаюсь выполнить.

Короче говоря, мой код должен выполнить следующее:

Хранимая процедура вызывается из моего php-скрипта, который возвращает набор данных, который я хочу выполнить, и создавать строки в таблице (для отображения в режиме онлайн). Однако одно из полей моей таблицы должно вызывать отдельную таблицу (даже не обязательно использовать хранимую процедуру в первую очередь), чтобы подсчитать общее количество строк, на которые влияет идентификатор пользователя.

Мой сценарий ниже возвращает эту ошибку:

SQLSTATE [HY000]: Общая ошибка: 2014 Невозможно выполнить запросы, в то время как другие небуферизованные запросы активны. Рассмотрим использование PDOStatement :: fetchAll (). Кроме того, если ваш код будет работать только с mysql, вы можете включить буферизацию запросов, установив атрибут PDO :: MYSQL_ATTR_USE_BUFFERED_QUERY.

Код:

<body> <table border='0' cellpadding='0' cellspacing='1'> <thead> <tr bgcolor='#E0EBF1'> <th>Agent NO</th> <th>Comm Lvl</th> <th>Agent Name</th> <th>Address</th> <th>parent_agent_name</th> <th>Contacts</th> <th>45 Day</th> <th>STS</th> </tr> </thead> <tbody> <?php $agetnumber = 123456789; try { $db = new PDO('mysql:host=localhost;dbname=DBNAME', 'USER', 'PW'); $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $db->beginTransaction(); $stmt = $db->query('CALL hier($agentnumber)'); foreach($stmt as $row) { $sql = $db->query("SELECT AGENT FROM activity WHERE AGENT = '$row[AGTNO]"); $foundrows = $db->query("SELECT FOUND_ROWS()")->fetchColumn(); echo sprintf("<tr><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td></tr>", $row["AGTNO"], $row["AGTCOMMLVL"], $row["AGTFNAME"]."<br><i>Contracted: ".$row["KDATE"], $row["parent_agent_id"], $row["parent_agent_name"], $row["commission_level"], $foundrows, $foot); } $db->commit(); } catch (PDOException $e) { $db->rollback(); echo $e->getMessage(); exit; } 

Строки, влияющие на код:

 $sql = $db->query("SELECT AGENT FROM activity WHERE AGENT = '$row[AGTNO]"); $foundrows = $db->query("SELECT FOUND_ROWS()")->fetchColumn(); 

удаление их «избавляется» от ошибки, но я тогда не могу вытащить переменную $ foundrows, которая мне нужна для каждого набора строк результата.

Кто-нибудь когда-либо сталкивался с этой проблемой раньше?

Solutions Collecting From Web of "PDO MySQL вызывает запрос небуферизованных запросов"