使用wordpress的$wpdb类读mysql数据库做ajax时出现的问题该如何解决_AJAX相关

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

主要问题有:

1,non-object

2,json中汉字,/被转码

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

先贴上网上搜到的代码:

<?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 ));
?>

以上就是小编给大家介绍的使用wordpress的$wpdb类读mysql数据库做ajax时出现的问题该如何解决,希望对大家有所帮助。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索ajax_mysql数据库
, wordpress_wpdb
wordpress_ajax
ajax获取mysql数据库、ajax连接mysql数据库、ajax 读取mysql数据库、php ajax mysql数据库、ajax mysql数据库,以便于您获取更多的相关知识。

时间: 2024-09-04 00:56:25

使用wordpress的$wpdb类读mysql数据库做ajax时出现的问题该如何解决_AJAX相关的相关文章

php类实现MySQL数据库备份、还原

 代码如下 复制代码 <?php  /**  * 创建时间: 2012年5月21日  *  * 说明:分卷文件是以_v1.sql为结尾(20120522021241_all_v1.sql)  * 功能:实现mysql数据库分卷备份,选择表进行备份,实现单个sql文件及分卷sql导入  * 使用方法:  *  * ------1. 数据库备份(导出)------------------------------------------------------------ //分别是主机,用户名,密码

解决Mysql数据库插入数据出现问号(?)的解决办法_Mysql

首先,我用的mysql数据库是5.7.12版本. 出现的问题: 1.插入数据显示错误,插入不成功,出现:Incorrect string value: '\xCD\xF5\xD5\xBC\xBE\xA9' for column 'Sname' at row 1 2.插入中文,虽然插入成功,但是显示:?? 解决方法: 在my.ini文件中的 [mysqld] 中加入 #character-set-server=utf8 如图所示,必须在蓝圈的上方,就是说,蓝圈内的内容必须在[mysqld]的最下面

java向mysql数据库插入中文时乱码

问题描述 请各位赐教! 解决方案 1.数据库安装时就要选择utf-8为默认编码2.数据库连接的url写法如下:jdbc:mysql://localhost:3306/carshow?useUnicode=true&characterEncoding=utf83.在进行数据库操作时先打印或者断点调试下,看从页面过来数据是否已经乱码大致就以上几步,开发时最好选定一种统一的编码,给自己少添点麻烦.解决方案二:LZ这个说的太广泛了,这个问题可能原因比较多,至少要保证数据库的编码格式和你在java里对数据

python Django连接MySQL数据库做增删改查_python

1.下载安装MySQLdb类库http://www.djangoproject.com/r/python-mysql/2.修改settings.py 配置数据属性 复制代码 代码如下: DATABASES = {    'default': {        'ENGINE': 'django.db.backends.mysql', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.        'NAME': 'djang

MYSQL数据库导入数据时出现乱码的解决办法_Mysql

首先在新建数据库时一定要注意生成原数据库相同的编码形式,如果已经生成可以用phpmyadmin等工具再整理一次,防止数据库编码和表的编码不统一造成乱码. 方法一: 通过增加参数 –default-character-set = utf8 解决乱码问题 mysql -u root -p password < path_to_import_file –default-character-set = utf8 方法二: 在命令行导入乱码解决 1. use database_name; 2. set n

mysql 数据库查询随机数量条目的效率问题及解决办法

最近由于需要大概研究了一下MYSQL的随机抽取实现方法.举个例子,要从tablename表中随机提取一条记录,大家一般的写法就是:SELECT * FROM tablename ORDER BY RAND() LIMIT 1. 但是,后来我查了一下MYSQL的官方手册,里面针对RAND()的提示大概意思就是,在ORDER BY从句里面不能使用RAND()函数,因为这样会导致数据列被多次扫描.但是在MYSQL 3.23版本中,仍然可以通过ORDER BY RAND()来实现随机. 但是真正测试一下

用SQLyog链接的mysql数据库创建表的时候报错--请高手解决。

问题描述 第一张:第二张;:第三张:上面三张图是我再使用SQLyog,创建表的时候遇到的,只要一创建表就会报错.不知道什么原因.第二张图是报错的图,第三张图是报错的具体信息.....希望高手能帮我解决下. 解决方案 解决方案二:先只建一个带id主键的表,看看会不会报错.如果不报错在添加其他字段.看添加哪一个字段时报错.

如何整合ssh,用这个框架配合mysql数据库做简单增删改查

问题描述 我要详细的流程.有的人速度.越简单,越详细越好. 解决方案 解决方案二:找个例子研究去

将xml文件作为一个小的数据库,进行学生的增删改查的简单实例_AJAX相关

1.xml文件: <?xml version="1.0" encoding="UTF-8"?><Students> <student id="2"> <name>ttt</name> <age>44</age> </student> <student id="3"> <name>linda2</name