MySQLi multi_query не вернет более 1 результатов

Когда результат ограничен 1, все работает отлично.

Однако, когда у меня есть более 1 результатов … ничего не возвращается.

$output = $conn->multi_query("CALL `test_discount`('022979', 1101, 1, 'W', 100, @out); SELECT @out AS `discount`;");

if ($output == true){
while($conn->next_result()){
$result = $conn->store_result();
while ($row = $result->fetch_assoc()){
print_r($row);
break;
}
if($conn->more_results() == false) { break; };
}
}

Я предполагаю, что я делаю что-то не так?

0

Решение

Если SQL выше имеет смысл, затем я бы предложил сначала извлечь данные, возвращаемые процедурой, а затем выбрать эту переменную stray @out.

$sql = "CALL `test_discount`('022979', 1101, 1, 'W', 100, @out)";
$res = $conn->multi_query($sql);
do {
if ($res = $mysqli->store_result()) {
foreach ($res as $row) {
print_r($row);
}
}
} while ($mysqli->more_results() && $mysqli->next_result());

$out = $conn->query("SELECT @out")->fetch_row[0];
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]