编辑:已解决
通过修改孙子数组来解决这个问题 - 在PDO准备函数中使用它之前需要进行内爆。
我是新来的,希望我能做到这一点!
我正在尝试完成以下操作以在WordPress数据库上运行查询:
我已经尽可能地展示了孩子,但是在将孙子孙女添加到阵列中时遇到了麻烦。这是代码:
$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);
不确定我做错了什么。非常感谢任何帮助!
答案 0 :(得分:0)
问题在于用于选择孙子的数组的格式。我在使用implode函数选择孙子之前解决了这个问题。
$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();