$ wpdb选择prepare语句

时间:2017-05-23 10:46:58

标签: mysql wordpress mysqli

我坚持要解决一个花费太多时间的严重问题。我知道这可能是一件小事,但我花了太多时间才创建一个简单的选择查询。这是我用来查看的代码并告诉我出了什么问题。

global $wpdb;
    $querystr = "
    SELECT $wpdb->posts.ID 
    FROM $wpdb->posts
    WHERE $wpdb->posts.post_type = 'product'
    AND $wpdb->posts.post_title = $tour_name
";

$productids = $wpdb->get_results($querystr, OBJECT);

foreach ($productids as $productid) {
echo $productid;
}

1 个答案:

答案 0 :(得分:0)

使用WP_Query类从数据库中检索数据,大多数时候比手动编写完整查询更方便,更不用说它使用预准备语句并正确地转义数据。

$query = new WP_Query([ 
  'post_type' => 'product',
  'title' => $tour_name
]);

要仅提取ID,请使用wp_list_pluck

$post_ids = wp_list_pluck( $query->posts, 'ID' );