zoukankan      html  css  js  c++  java
  • 使用wordpress的$wpdb类读mysql数据库做ajax时出现的问题及解决

    无聊做了个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(“SELECT ID,post_title FROM wp_posts ″);
    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(‘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 ));
    ?>
    

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

  • 相关阅读:
    亚马逊产品图片爬取
    页面浏览统计之(一) hitcount
    页面浏览统计之(二) tracking
    页面浏览统计之(三) tracking2
    Django CMS apphooks – 使用应用钩子来添加主题应用
    Django CMS 插件 – 添加博客专题
    [整理] Windows下打印网页
    CompletableFuture详解
    详解JVM常量池、Class、运行时、字符串常量池
    分库分表总结
  • 原文地址:https://www.cnblogs.com/cumt/p/4856694.html
Copyright © 2011-2022 走看看