【发布时间】:2016-10-09 07:26:09
【问题描述】:
编辑:已解决
最终我自己通过修改孙数组来解决这个问题 - 它需要被内爆才能用于 PDO 准备函数。
我是新来的,希望我做得对!
我正在尝试完成以下操作以在 WordPress 数据库上运行查询:
- 使用 mysql PDO 准备函数来检索选定父母的子帖子
- 使用另一个 PDO 准备函数来检索孙子帖子
- 将所有这些合并到一个数组中(相同的键)
我已经展示了孩子,但是在将孙子添加到数组中时遇到了麻烦。代码如下:
$id=$_REQUEST['selected'];
$a=implode(',', array_map('intval', $id));
$hostname='localhost';
$username='victoria_wp_site';
$password='PASSWORD';
$db = new PDO("mysql:dbname=victoria_wp_site;host=$hostname",$username,$password);
$qry = $db->prepare("SELECT id,post_title
FROM `wp_posts`
WHERE `post_parent` IN ($a) and post_name not like '%revision%' ");
$qry->execute();
$i=0;
while($data = $qry->fetch()){
$result[$i]=$data;
$i++;
}
$b = implode(',', array_column($result, 'id'));
$qry_grandchild = $db->prepare("SELECT id, post_title
FROM `wp_posts`
WHERE `post_parent` IN ($b) AND post_name not like '%revision%' ");
$qry_grandchild->execute();
while($data = $qry_grandchild->fetch()) {
$result[$i]=$data;
$i++;
}
echo json_encode($result);
不知道我做错了什么。非常感谢任何帮助!
【问题讨论】:
-
感谢您的回复 - 原始代码不是我自己的,因此我正在尝试使用已有的代码,而无需重新编写所有内容。我要添加的部分是包括孙辈。你建议我重写整个东西吗?
-
我对我的无知表示歉意(这对我来说是一个新领域),但您能否提供更多细节,或者可能是与实现该目标相关的可靠资源?附: - 你提到逻辑很好,但我仍然只得到孩子(不是孙子)。有什么遗漏或错误,但我无法确定
-
请注意
mysql_xx函数已过时,并且已从最新版本的 PHP 中删除。如果你的代码使用了这些函数,那么它已经与当前的主线 PHP 版本不兼容了。 -
@Ryan Vincent - 确实很抱歉。我应该指定这是用于访问 WordPress 数据库中的帖子。如前所述,我是 MySQL 查询的新手,正在使用现有代码
-
知道了,谢谢瑞恩。我在这里潜伏了很长时间的新海报,但我保证会努力变得更好!我已经更新了问题
标签: mysql json wordpress children