Intereting Posts
CSS-стиль для детей не отображается вообще изображения пользовательского поля не отображаются до тех пор, пока не будет сохранено сохранение страницы Как дублировать селектор содержимого редактора меню 404 пользовательский тип сообщения Получение первого изображения из сообщения Как WordPress обращается к своей собственной базе данных переписать URL-адрес приложения с заголовком приложения Файл загрузки WordPress – получить доступ к установке WordPress Первая попытка AJAX, и он продолжает получать Отменено. Не удается получить результаты для показа Внесите специальный сценарий в создание учетной записи (и никогда больше) Плюсы и минусы использования вместо ? Изменить запрос WordPress Rest Api / Response канал, отображающийся в трех основных браузерах Отображать таксономию с максимальным количеством букв Как я могу отобразить форму контакта для внеодных продуктов в WooCommerce?

Выберите две суммы с одним выражением get_var

Я пытаюсь сделать следующее

global $wpdb; $sum = $wpdb->get_var("select sum(first), sum(second) from table where id > 1"); 

Я не могу получить значения из каждого запроса. я пытался

 echo $test->sum(first); 

Я попытался изменить инструкцию sql для включения AS

  $sum = $wpdb->get_var("select sum(first) as firstRequest, sum(second) as secondRequestfrom table where id > 1"); echo $test['firstRequest']; 

Я пробовал заявление foreach

 foreach($test as $tester){ echo $tester['sum(first')]; } 

а также

 foreach($test as $tester){ echo $tester['firstRequest']; } 

Как я могу получить сумму нескольких строк из одного оператора get_var ? Если это невозможно, и мне нужна сумма из 5 разных строк, мне нужно было бы создать 5 отдельных операторов get_var ? Будет ли это уменьшать скорость запросов, если это так, это даже заметно?

Solutions Collecting From Web of "Выберите две суммы с одним выражением get_var"

$wpdb->get_var будет делать то, что предлагает название – вернуть одно значение. Итак, это:

 $sum = $wpdb->get_var("select sum(first), sum(second) from sums_test where id > 1"); var_dump($sum); 

Вернет результат sum(first) . Остальная часть результата утеряна (хотя я уверен, что кэширован).

Вы хотите метод get_row который вернет полную строку результатов.

 $sum = $wpdb->get_row("select sum(first) as first_sum, sum(second) as second_sum from sums_test where id > 1"); var_dump($sum); 

Я также добавил предложения AS чтобы упростить использование данных в PHP. Теперь вы можете получить свои результаты с помощью $sum->first_sum) , $sum->second_sum и т. Д. Для тех, которые вы извлекаете, или можете использовать что-то более динамичное, например:

 foreach ($sum as $k=>$v) { echo $k.' -> '.$v.'<br>'; }