get_results с помощью wpdb
-
-
Попробуйте заключить `$ wpdb-> wp_posts` в фигурные скобки,т.е.`{$ wpdb-> wp_posts}` ..Try wrapping `$wpdb->wp_posts` with curly braces, ie. `{$wpdb->wp_posts}`..
- 0
- 2013-08-19
- t31os
-
4 ответ
- голосов
-
- 2013-08-19
global $wpdb; $result = $wpdb->get_results ( " SELECT * FROM $wpdb->posts WHERE post_type = 'page' " ); foreach ( $result as $page ) { echo $page->ID.'<br/>'; echo $page->post_title.'<br/>'; }
global $wpdb; $result = $wpdb->get_results ( " SELECT * FROM $wpdb->posts WHERE post_type = 'page' " ); foreach ( $result as $page ) { echo $page->ID.'<br/>'; echo $page->post_title.'<br/>'; }
-
привет @balamurugan,я попробовал ваш ответ,но я все еще не получаю никаких результатов.вы можете увидеть мою часть [EDIT] выше.hi @balamurugan, i tried your answer but im still not getting any results. you can see my [EDIT] part above.
- 0
- 2013-08-19
- user1933824
-
на самом деле то,что вы получаете,и вы удаляете ... из моего кода.Я протестировал это и получил все идентификаторы страницыactually what u r getting and do u remove ... from my code. i tested it and getting all page id
- 0
- 2013-08-19
- Balas
-
Я использую мою часть [edit],как показано выше моего исходного сообщения. Я попробовал `echo $ result`,чтобы убедиться,что я получаю данные из` query`,что я получаю,этоprint `Array`.когда я использую `echo $page-> ID`,я ничего не получаю.я правда не знаю почему ..im using my [edit] part as seen above my original post. i tried `echo $result` just to make sure that im retrieving data from the `query` what i get is print `Array`. when i use `echo $page->ID` i dont get anything. im really not sure why..
- 0
- 2013-08-19
- user1933824
-
вы просто полностью копируете и вставляете этот код.Это все,что нужно сделать,чтобы получить результат.you just simply copy & paste that code completely. That's all to do to get the result.
- 0
- 2013-08-19
- Balas
-
да,заработало!когда я пытаюсь просмотреть свой код и ваш,единственное различие,которое я заметил,это эта часть `$tablename=$ wpdb->prefix.'posts ';` этой части не было в документации кодекса.можешь мне объяснить,почему это работает?yes, it worked! when i try to review my code and yours, the only difference i saw is this part `$tablename = $wpdb->prefix.'posts';` this part wasnt in the codex documentation. can you explain to me why it works?
- 0
- 2013-08-19
- user1933824
-
$ wpdb->prefix=wp_ (как в префиксе таблицы базы данных),который будет как wp_posts в базе данных.в будущем вы можете указать свое имя в качестве префикса.так что это не повлияет на такой код.И старайтесь всегда использовать этот способ.$wpdb->prefix = wp_ ( as in database table prefix) which will be as wp_posts in database. in future u can give yourname as prefix. so that it will not affect this kind of code. And try always use this way.
- 0
- 2013-08-19
- Balas
-
- 2013-08-19
У вас небольшое недопонимание:
При вызове
$wpdb
вы получаете список свойств,которые содержат основные имена таблиц:// The custom prefix from wp-config.php // only needed for custom tables $wpdb->prefix // Tables where you don't need a prefix: built in ones: $wpdb->posts $wpdb->postmeta $wpdb->users
Итак,ваш окончательный запрос будет выглядеть следующим образом :
$wpdb->get_results( "SELECT * FROM {$wpdb->posts} WHERE post_type = 'page'" );
You have a slight misunderstanding:
When calling
$wpdb
, you get a list of properties that contain the core names of the tables:// The custom prefix from wp-config.php // only needed for custom tables $wpdb->prefix // Tables where you don't need a prefix: built in ones: $wpdb->posts $wpdb->postmeta $wpdb->users
So your final query would look like this:
$wpdb->get_results( "SELECT * FROM {$wpdb->posts} WHERE post_type = 'page'" );
-
+1 за это спасибо.но мне нужно было отдать должное человеку,который ответил мне первым,он уже дал правильный ответ,я просто не мог следовать его инструкциям.+1 for this, thank you. but i needed to give credit the person who responded to me first, he already provided the correct answer, i was just wasnt able to follow his instruction.
- 1
- 2013-08-19
- user1933824
-
Конечно.Примечание: как я уже сказал,префикс $ wpdb-> не следует использовать для встроенных таблиц.Просто позвоните им напрямую.Исправлен и его ответ.Sure. Sidenote: As I stated, the `$wpdb->prefix` shouldn't be used for built-in tables. Just call them directly. Fixed this is his answer as well.
- 0
- 2013-08-19
- kaiser
-
- 2014-07-16
Попробуйте следующий код.Я столкнулся с аналогичной проблемой и решил ее,удалив $ wpdb из поля «FROM».
global $wpdb; $result = $wpdb->get_results ( " SELECT * FROM wp_posts WHERE post_type = 'page' " ); echo $result; // display data
Try the following code. I faced the similar problem and solved it by removing $wpdb from 'FROM' field.
global $wpdb; $result = $wpdb->get_results ( " SELECT * FROM wp_posts WHERE post_type = 'page' " ); echo $result; // display data
-
- 2013-08-19
Под «пустым массивом» вы подразумеваете «пустой массив» или выходной массив «ARRAY».Если последнее,то это ожидаемый результат.Вам нужно пройти через этот массив и соответственно отобразить результаты.
Ссылка: http://codex.wordpress.org/Class_Reference/wpdb#SELECT_Generic_Results
By "blank Array" do you mean an 'empty array' or is the output 'ARRAY'. If it's the latter then, it is the expected output. You need to loop through that array and display results accordingly.
Reference: http://codex.wordpress.org/Class_Reference/wpdb#SELECT_Generic_Results
Я пытаюсь получить информацию о своей базе данных.Я хотел отобразить все
pages
с помощью этого оператора,но получаю пустойARRAY
Вывод:
РЕДАКТИРОВАТЬ : после изменения приведенных ниже предложений я теперь использую это.но я все еще не получаю результатов: