Я пытаюсь вернуть несколько наборов записей, используя хранимую процедуру, подобную этой:
CREATE PROCEDURE `multiple`()
BEGIN
SELECT * FROM account;
SELECT * FROM admin;
END$$
Когда я нажимаю CALL множественный () в mysql UI, как SQLYog, я получаю результат в отдельной вкладке для каждого набора записей. Но когда я пытаюсь вызвать эту хранимую процедуру в моем php-скрипте, использующем соединитель mysqli, я просто получаю первый набор записей.
Вот мой php-скрипт:
<?php
// New Connection
$db = new mysqli('localhost','root','','db_test');
// Check for errors
if(mysqli_connect_errno()){
echo mysqli_connect_error();
}
echo "<pre>";
// 1st Query
$result = $db->query("call multiple()");
if($result){
// Cycle through results
while ($row = $result->fetch_object()){
$user_arr[] = $row;
}
// Free result set
$result->close();
$db->next_result();
}
print_r($user_arr);
Как мы можем получить второй набор записей, используя объект mysqli?