mysql — отображает таблицу результатов для 2 sql запросов в Stack Overflow

Я пишу php-файл и хочу показать две таблицы, выполнив 2 отдельных запроса, и сохранить их в $ result и $ result_bike. Однако, когда я пытаюсь открыть html-страницу для этой формы действия, она показывает только таблицу для первого запроса и выдает ошибку «Команды не синхронизированы; вы не можете запустить эту команду сейчас» вместо второй. Таблица.

Кроме того, я не хочу объединять эти две таблицы, так как они показывают совершенно разную информацию, и я хочу вставить текст, объясняющий каждую таблицу.

Я думаю, что может быть что-то делать с не в состоянии напечатать две таблицы для php (в чем я сомневаюсь)? Какие изменения я должен сделать?

Заранее спасибо за помощь!

        $result = mysql_query("CALL CrashTypeRate_Ped('$city')", $conn);
if (!$result){
echo "Fail to retrieve result for pedestrian crashes!\n";
print mysql_error();
} else {
echo "<table border=1>\n";
echo "<tr><td>CrashType</td><td>Count</td><td>TotalCount</td></tr>\n";
while ($myrow = mysql_fetch_array($result)) {
printf("<tr><td>%s</td><td>%s</td><td>%s</td></tr>\n", $myrow["crash_type"], $myrow["type_count"], $myrow["total_count"]);
}
echo "</table>\n";
}


$result_bike = mysql_query("CALL CrashTypeRate_Bike('$city')", $conn);
if (!$result_bike) {
echo "Fail to retrieve result for bike crashes!\n";
print mysql_error();
} else {
echo "got here!!!!!!";
echo "<table border=1>\n";
echo "<tr><td>CrashType</td><td>Count</td><td>TotalCount</td></tr>\n";
while ($myrow = mysql_fetch_array($result_bike)) {
printf("<tr><td>%s</td><td>%s</td><td>%s</td></tr>\n", $myrow["crash_type"], $myrow["type_count"], $myrow["total_count"]);
}
echo "</table>\n";
}

0

Решение

Вот из комментариев пользователя PHP Документация. Надеюсь это поможет

Ссылка на документацию PHP

При вызове нескольких хранимых процедур вы можете столкнуться со следующей ошибкой: «Команды не синхронизированы; вы не можете запустить эту команду сейчас».
Это может произойти даже при использовании функции close () для объекта результата между вызовами.
Чтобы устранить проблему, не забудьте вызывать функцию next_result () для объекта mysqli после каждого вызова хранимой процедуры. Смотрите пример ниже:

<?php
// New Connection
$db = new mysqli('localhost','user','pass','database');

// Check for errors
if(mysqli_connect_errno()){
echo mysqli_connect_error();
}

// 1st Query
$result = $db->query("call getUsers()");
if($result){
// Cycle through results
while ($row = $result->fetch_object()){
$user_arr[] = $row;
}
// Free result set
$result->close();
$db->next_result();
}

// 2nd Query
$result = $db->query("call getGroups()");
if($result){
// Cycle through results
while ($row = $result->fetch_object()){
$group_arr[] = $row;
}
// Free result set
$result->close();
$db->next_result();
}
else echo($db->error);

// Close connection
$db->close();
?>
1

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

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

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector