ホームページ  >  記事  >  バックエンド開発  >  wordpress の $wpdb クラスを使用して mysql データベースを読み取り、ajax を実行する場合の問題と解決策、wordpresswpdb_PHP チュートリアル

wordpress の $wpdb クラスを使用して mysql データベースを読み取り、ajax を実行する場合の問題と解決策、wordpresswpdb_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-12 09:07:40996ブラウズ

使用wordpress的$wpdb类读mysql数据库做ajax时出现的问题及解决,wordpresswpdb

无聊做了个www.jiazhuangma.com,技术不过关写不好后台,就想直接读wordpress里的数据。做ajax读后台数据时在网上随便搜了一段代码使用wordpress $wpdb类读mysql数据库,就是这么一随便,搜到了别人的去头去尾的code,开始了我的改错之旅。

主要问题有:

1,non-object

2,json中汉字,/被转码

3,chrome可以正常访问php文件,ie显示http 404,ajax时头部显示404,但是响应正文正确,是我想要的json。

转载请注明http://www.cumt.top/blog/?p=162

 

先贴上网上搜到的代码:

<?php

global $wpdb;

$a = $wpdb->get_results(&ldquo;SELECT ID,post_title FROM wp_posts &Prime;);
echo json_encode($a );
?>

  

这时会报错,non-object;

网上有人说可以添加require_once(‘wp-blog-header.php’);那么恭喜你中奖了,你会发现chrome可以正常访问php文件,ie显示http 404,ajax时头部显示404,但是响应正文正确。

修改为require_once(‘wp-config.php’);后正常,

这时得到的json是转码后的需要将echo json_encode($a );

修改为echo str_replace(“\\/”, “/”, json_encode($a,JSON_UNESCAPED_UNICODE ));结果才正确

最终结果:

<?php

require_once(&lsquo;wp-config.php&rsquo;);
global $wpdb;

$a = $wpdb->get_results(&ldquo;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&Prime;);
echo str_replace(&ldquo;\\/&rdquo;, &ldquo;/&rdquo;, json_encode($a,JSON_UNESCAPED_UNICODE ));
?>

  转载请注明http://www.cumt.top/blog/?p=162

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/1059473.htmlTechArticle使用wordpress的$wpdb类读mysql数据库做ajax时出现的问题及解决,wordpresswpdb 无聊做了个www.jiazhuangma.com,技术不过关写不好后台,就想直接读w...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。