2013-10-02 5 views
0

Мне нужно подсчитать количество значения 1 из wp_ul_locked на wp_usermeta я попробовать этот кодMySql для Wordpress Запрос

$wpdb->get_var("SELECT COUNT(*) WHERE 'meta_key' LIKE 'wp_ul_locked'"); 

или

$wpdb->get_var("SELECT COUNT(*) FROM $wpdb->usermeta WHERE meta_key = '1'");

или

$wpdb->get_var("SELECT COUNT(*) FROM $wpdb->usermeta LIKE 'wp_ul_locked' WHERE meta_value = '1'"); 

в этом режиме подсчета возврата всех wp_ul_locked не только значение 1

$wpdb->get_var("SELECT COUNT(*) FROM $wpdb->usermeta WHERE meta_key LIKE 'wp_ul_locked' = '1' "); 

но возвращают пустой или ошибка

example of table

Где моя ошибка?

ответ

4

Ваш запрос неверен. Попробуйте это:

$wpdb->get_var("SELECT COUNT(*) from $wpdb->usermeta WHERE meta_key LIKE 'wp_ul_locked' AND meta_value=1 ") 
+0

$ w pdb-> get_var ("SELECT COUNT (*) из $ wpdb-> usermeta WHERE meta_key LIKE 'wp_ul_locked' И meta_value = '1'"); эту работу я удалил только «..» спасибо огромное! – Federal09

+0

Исправлена ​​ошибка synthax. Не стесняйтесь принять ответ, если он решил проблему;) – Fabio

+0

Фабио, вы итальянский? – Federal09

5

Ну ... у вас есть ошибки на каждом из тестовых запросов:

$wpdb->get_var("SELECT COUNT(*) WHERE 'meta_key' LIKE 'wp_ul_locked'"); 

Вы пропустили FROM

$wpdb->get_var("SELECT COUNT(*) FROM $wpdb->usermeta WHERE meta_key = '1'"); 

Это вернет пустой, значение meta_key никогда не было 1

$wpdb->get_var("SELECT COUNT(*) FROM $wpdb->usermeta LIKE 'wp_ul_locked' WHERE meta_value = '1'"); 

Это не будет работать, вы ставите LIKE перед тем WHERE

$wpdb->get_var("SELECT COUNT(*) FROM $wpdb->usermeta WHERE meta_key LIKE 'wp_ul_locked' = '1' "); 

Это не будет работать

Правильный запрос будет это один я думаю:

$wpdb->get_var("SELECT COUNT(*) FROM $wpdb->usermeta WHERE meta_key = 'wp_ul_locked' AND meta_value = '1' "); 

Я изменил LIKE с равный, но вы можете поставить LIKE вместо равных здесь meta_key = 'wp_ul_locked'

Смежные вопросы