我要根据一些文字获取记录。为此,我在get_results中使用LIKE查询。但是,当我将此查询运行到SQL中时,它可以正常工作,但在代码中却没有。我无法找出错误的位置。请建议我这样做的正确方法。这是我的代码。
$searchTag = $_REQUEST["s"];
<?php if (have_posts()) : while (have_posts()) : the_post(); $current++; ?>
这是发生的问题(查询给出空结果[可能/它不显示任何东西])
<?php
$post_id = $wpdb->get_results( "SELECT post_id FROM wp_postmeta
WHERE meta_value LIKE '%,".$searchTag.",%'OR meta_value LIKE '%,".$searchTag."'
OR meta_value LIKE '".$searchTag.",%' OR meta_value='".$searchTag."' " );
答案 0 :(得分:1)
请使用
global $wpdb;
在查询之前。
答案 1 :(得分:0)
我已经复制了你的问题,你应该使用前缀对象。
$post_id = $wpdb->get_results( "SELECT post_id FROM " . $wpdb->prefix . "postmeta WHERE meta_value LIKE '%,".$searchTag.",%'OR meta_value LIKE '%,".$searchTag."' OR meta_value LIKE '".$searchTag.",%' OR meta_value='".$searchTag."' " );