無聊做了個(gè)www.jiazhuangma.com,技術(shù)不過關(guān)寫不好后臺,就想直接讀wordpress里的數(shù)據(jù)。做ajax讀后臺數(shù)據(jù)時(shí)在網(wǎng)上隨便搜了一段代碼使用wordpress $wpdb類讀mysql數(shù)據(jù)庫,就是這么一隨便,搜到了別人的去頭去尾的code,開始了我的改錯(cuò)之旅。
主要問題有:
1,non-object
2,json中漢字,/被轉(zhuǎn)碼
3,chrome可以正常訪問php文件,ie顯示http 404,ajax時(shí)頭部顯示404,但是響應(yīng)正文正確,是我想要的json。
先貼上網(wǎng)上搜到的代碼:
?php
global $wpdb;
$a = $wpdb->get_results(“SELECT ID,post_title FROM wp_posts ″);
echo json_encode($a );
?>
這時(shí)會報(bào)錯(cuò),non-object;
網(wǎng)上有人說可以添加require_once(‘wp-blog-header.php');那么恭喜你中獎(jiǎng)了,你會發(fā)現(xiàn)chrome可以正常訪問php文件,ie顯示http 404,ajax時(shí)頭部顯示404,但是響應(yīng)正文正確。
修改為require_once(‘wp-config.php');后正常,
這時(shí)得到的json是轉(zhuǎn)碼后的需要將echo json_encode($a );
修改為echo str_replace(“\\/”, “/”, json_encode($a,JSON_UNESCAPED_UNICODE ));結(jié)果才正確
最終結(jié)果:
?php
require_once(‘wp-config.php');
global $wpdb;
$a = $wpdb->get_results(“SELECT wp_posts.ID,wp_posts.post_title,wp_posts.guid FROM wp_posts inner join wp_term_relationships on wp_term_relationships.object_id=wp_posts.ID where wp_term_relationships.term_taxonomy_id=3 ORDER BY wp_term_relationships.object_id DESC LIMIT 5″);
echo str_replace(“\\/”, “/”, json_encode($a,JSON_UNESCAPED_UNICODE ));
?>
以上就是小編給大家介紹的使用wordpress的$wpdb類讀mysql數(shù)據(jù)庫做ajax時(shí)出現(xiàn)的問題該如何解決,希望對大家有所幫助。
您可能感興趣的文章:- 編寫PHP腳本來實(shí)現(xiàn)WordPress中評論分頁的功能
- Wordpress php 分頁代碼
- WordPress中利用AJAX技術(shù)進(jìn)行評論提交的實(shí)現(xiàn)示例
- 通過Ajax手動(dòng)解決WordPress WP-PostViews不計(jì)數(shù)的問題
- WordPress中利用AJAX異步獲取評論用戶頭像的方法
- 使用PHP+AJAX讓W(xué)ordPress動(dòng)態(tài)加載文章的教程
- 使用CDN和AJAX加速WordPress中jQuery的加載
- 利用AJAX實(shí)現(xiàn)WordPress中的文章列表及評論的分頁功能