Мы используем magento и PHP.И иметь хранимую процедуру, которая выполняет некоторую обработку, и, наконец, предполагается, что она возвращает несколько результатов, используя запросы выбора.
Eg : Select * FROM table1;
Select * FROM table2;
Select * FROM table3;
Проблема в том, что не во всех таблицах могут быть данные.Если в таблице нет данных, хранимая процедура ничего не возвращает.И в PHP мы используем цикл for для извлечения данных.
for($i= 0; $i<=3; $i++){
$rowset = $sql->fetchAll(PDO::FETCH_ASSOC);
if ($rowset) {
switch ($i) {
case 0:
$spStatus = $rowset;
break;
case 1:
$boqSections = $rowset;
break;
case 2:
$boqEntries = $rowset;
break;
case 3:
$boqItems = $rowset;
break;
}
}
$sql->nextRowset();
}
Так что, если в таблице 3 не найдено данных.Хранимая процедура не вернет третий набор строк / набор результатов.Таким образом, в вышеприведенном цикле третий вызов $sql->fetchAll(PDO::FETCH_ASSOC);
не будет выполнен, что приведет к общей ошибке.
Есть ли способ обойти эту проблему?