Intereting Posts
Как исключить конкретный шаблон из кэша CDN dbDelta SQL Query Not Working comment-reply.js всегда фокусируется на комментариях textarea Предыдущие / следующие пользовательские ссылки в пользовательской таксономии Как register_sidebar (), не нарушая порядок? WordPress Facebook комментарии / сообщения синхронизации Дополнительные теги абзаца в закрытом коротком коде Запросить сообщения БЕЗ пользовательского мета-поля Зарегистрируйте нового пользователя, назначьте пользовательскую роль, затем отправьте электронное письмо Получение архивных страниц в внутреннем поисковом устройстве AJAX WP? Эхо все мета-ключи пользовательского сообщения ТИП Ограничить доступ пользователей к ресурсам через обычную таксономию категории «Медиабиблиотека»? Также запретить удаление других загрузок? Пользовательские перезаписи URL для шаблонов Выпадающие шрифты Google в разделе «Параметры» Как отобразить все меню навигации как выпадающее меню в виджетах?

Выберите две суммы с одним выражением 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>'; }