Php 在WP查询中获取帖子ID

Php 在WP查询中获取帖子ID,php,wordpress,Php,Wordpress,我需要更新自定义字段,我使用wordpress进行了查询,它返回一行,该行似乎是一个对象,我无法从中提取帖子ID $wpdb->query('SELECT * FROM wp_posts WHERE post_title = "' . $result['name'] . '" AND post_status = "publish"'); if ( $wpdb->num_rows ) { update_field('field_570e529aa4a41', $result[

我需要更新自定义字段,我使用wordpress进行了查询,它返回一行,该行似乎是一个对象,我无法从中提取帖子ID

$wpdb->query('SELECT * FROM wp_posts WHERE post_title = "' . $result['name'] . '" AND 
post_status = "publish"'); 
if ( $wpdb->num_rows ) { 
  update_field('field_570e529aa4a41', $result['runs'], $post_id); 
  update_field('field_570e52a7a4a42', $result['wins'], $post_id); 
  //echo '<pre>';
  //print_r($wpdb);
  //echo '</pre>'; echo 'This Horse is already in the database so we 
  //just updated its statistics'; 
} else {

}
$wpdb->query('SELECT*FROM wp_posts,其中post_title=“”。$result['name']”和
post_status=“publish”);
如果($wpdb->num_行){
更新_字段('field_570e529aa4a41',$result['runs',$post_id);
更新_字段('field_570e52a7a4a42',$result['wins',$post_id);
//回声';
//打印(wpdb);
//echo“”;echo“这匹马已经在数据库中,所以我们
//刚刚更新了它的统计数据",;
}否则{
}

问题是您正在使用
$wpdb->query
执行查询,但未使用其返回对象

SOL 1:

使用
$wpdb->get_results()
和第二个参数,即返回记录集类型
数组A

foreach($result as $val) {

 $post_id = $val['ID'];
echo $post_id.'<br>';
}
或者多个记录使用
foreach
循环

$rows = $wpdb->query( 'SELECT * FROM wp_posts WHERE post_title LIKE "' . $result['name'] . '" AND post_status = "publish"' );
        if ($rows) {
            foreach ( $rows as $key => $rc ) {
                update_field( 'field_570e529aa4a41', $result['runs'], $rc->ID );
                update_field( 'field_570e52a7a4a42', $result['wins'], $rc->ID );
            }
        }

问题是您正在使用
$wpdb->query
执行查询,但未使用其返回对象

SOL 1:

使用
$wpdb->get_results()
和第二个参数,即返回记录集类型
数组A

foreach($result as $val) {

 $post_id = $val['ID'];
echo $post_id.'<br>';
}
或者多个记录使用
foreach
循环

$rows = $wpdb->query( 'SELECT * FROM wp_posts WHERE post_title LIKE "' . $result['name'] . '" AND post_status = "publish"' );
        if ($rows) {
            foreach ( $rows as $key => $rc ) {
                update_field( 'field_570e529aa4a41', $result['runs'], $rc->ID );
                update_field( 'field_570e52a7a4a42', $result['wins'], $rc->ID );
            }
        }

您不是在查询单个结果,而是一个列表,因此您应该在其中循环,如下所示:


您不是在查询单个结果,而是一个列表,因此您应该在其中循环,如下所示:


$wpdb
返回什么?你能打印这个结果吗?
$wpdb
返回什么?你能把结果打印出来吗?就这样!我需要查看并研究$key=$row,因为这就是解决问题的方法!谢谢,就这样!我需要查看并研究$key=$row,因为这就是解决问题的方法!非常感谢。
$results = $wpdb->get_results('SELECT * FROM wp_posts WHERE post_title = "' . $result['name'] . '" AND post_status = "publish"'); 
    if ( $results ) { 
      foreach( $results as $key => $row) {
         update_field('field_570e529aa4a41', $result['runs'], $row->ID); 
         update_field('field_570e52a7a4a42', $result['wins'], $row->ID);
      }
    }