@cluberr

Как получить доступ к свойству массива объектов?

Следующий код достает записи из базы , как получить цифру которую возвращает COUNT ?
$results = $wpdb->get_results("SELECT COUNT(user_id)
                                    FROM `wp_konkurs` 
                                    WHERE ( `user_email` = 'mail@mail.ru' ) AND ( DATE(user_time) = ' $nowDate ' ) ;
                                    ");
	var_dump($results);

вот что выводит var_dump , нужна цифра 7 , как ее достать в переменную ?
array(1) { [0]=> object(stdClass)#9992 (1) { ["COUNT(user_id)"]=> string(1) "7" } }
  • Вопрос задан
  • 142 просмотра
Решения вопроса 1
alexey-m-ukolov
@alexey-m-ukolov Куратор тега PHP
$results[0]->{'COUNT(user_id)'}

Но лучше написать так:
$results = $wpdb->get_results("
    SELECT COUNT(user_id) as `count`
    FROM `wp_konkurs` 
    WHERE ( `user_email` = 'mail@mail.ru' ) AND ( DATE(user_time) = ' $nowDate ' ) ;
");

var_dump($results[0]->count);
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
Для начала назначьте алиас (as count)
$results = $wpdb->get_results("SELECT COUNT(user_id) as count
  FROM `wp_konkurs` 
  WHERE ( `user_email` = 'mail@mail.ru' ) AND ( DATE(user_time) = ' $nowDate ' ) ;
");
$result[0]->count
Ответ написан
@MadridianFox
Web-программист, многостаночник
Можно, конечно, пойти на изврат с фигурными скобками, но лучше просто добавьте alias в запрос и не парьтесь.
SELECT COUNT(user_id) as `count` ...
var_dump($results->count);
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы