$wpdb 使用 SELECT 查询返回错误结果

问题描述 投票:0回答:1

我想使用 $wpdb->get_results 从数据库中选择我的 post_type,但与从 phpMyAdmin 运行的 SQL 查询相比,我收到了错误的结果。

这是我的 $wpdb 查询:

$new_query = "SELECT `ID`, `post_title`, `post_date` FROM wp_posts WHERE `post_type`='inventory' AND `post_title` LIKE '"."%".$query."%'";    
    $inventories = $wpdb->get_results($new_query , ARRAY_N);      
       

这是 SQL 查询:

SELECT `ID`,`post_title`,`post_date` FROM wp_posts  WHERE `post_type`='inventory' AND `post_title` LIKE "%zoom%";

通过 phpmyadmin 运行的 SQL 查询返回 6 个结果,而 $wpdb 返回零。 $wpdb 找不到太多可以找到简单 SQL 查询的东西。

我的功能尚未完成,但它可以选择所有项目: 我将发布孔函数。这是原始代码,但它可以工作。

function get_inventories_callback(){
    
    global $wpdb;
    $query = $_POST['query'];
    
    $cut_inventories = array();
    
    $i = 0;
    
    if ($query == "") {
    $inventories = $wpdb->get_results( "SELECT ID, post_title, post_date FROM wp_posts WHERE post_type='inventory' AND post_status='publish'", ARRAY_N);
      }  else {
    $new_query = "SELECT `ID`, `post_title`, `post_date` FROM wp_posts WHERE `post_type`='inventory' AND `post_title` LIKE '"."%".$query."%'";    
    $inventories = $wpdb->get_results($new_query , ARRAY_N);      
      } 
    $page_num  = intval($_POST['page_num']);
    
    
    for($i = $page_num*25; $i < $page_num*25 + 25; $i++) {
            
    $url = wp_nonce_url(
    add_query_arg(
        array(
            'action' => 'trash',
            'post' => $inventories[$i][0],
        ),
        site_url( 'wp-admin/post.php' )
    ),
    'trash' . $inventories[$i][0], 
    '_wpnonce' 
);
        array_push($inventories[$i], $url);
        array_push($cut_inventories, $inventories[$i]); 
    }

    $ready_inventories  = array($cut_inventories, count($inventories));
    echo json_encode($ready_inventories);
        
    wp_die();
}

你能帮我吗?

php wordpress
1个回答
0
投票
$sql = "SELECT * FROM wp_post WHERE ID='10'";
$results = $wpdb->get_results($sql);

    foreach( $results as $result ) {

        echo $result->name;

    }
© www.soinside.com 2019 - 2024. All rights reserved.