无法在WordPress wpdb中传递变量->GET_RESULTS

时间:2013-07-12 作者:user35227

我想传递一个变量,但总是得到错误消息

为foreach()提供的参数无效。。。

这是我的代码:

function second($taxonomies)
{
    global $wpdb;
    $result = $wpdb->get_results( "SELECT * FROM tblTest WHERE manufacturer = $d", $taxonomies);
    foreach ($result as $pointer) {
    $id = $pointer->id;
    $car = $pointer->car;
    $price = $pointer->price;
    echo $id." ".$car." ".$price."<br />";
    }  
}
如何将结果传递给另一个下拉列表?提前感谢!

2 个回复
SO网友:Mike Madern

正如您在法典页面中看到的get_results 不提供在方法中添加值参数的功能:

$wpdb->get_results(\'query\', output_type);
output_type 具有以下描述:

四个预定义常量之一。默认为对象。有关详细信息,请参见选择行及其示例。

对象-结果将作为行对象的数字索引数组输出

  • OBJECT\\u K-结果将输出为行对象的关联数组,使用第一列的值作为键(重复项将被丢弃)您可以使用以下选项:

    $results = $wpdb->get_results(
      $wpdb->prepare(
        "
        SELECT *
         FROM tblTast
         WHERE manufacturer = %d
        ",
        $taxonomies
      )
    );
    
    if ( $results ) {
      foreach ( $results as $pointer ) {
        /* your code here */
      }
    }
    
    我们将添加“prepare”方法,以确保我们没有处理非法操作或任何非法字符

    See the Codex for more information.

  • SO网友:TheDeadMedic
    $result = $wpdb->get_results(
        $wpdb->prepare(
            "SELECT * FROM tblTest WHERE manufacturer = %d",
            $taxonomies
        )
    );
    

    See the codex on wpdb::prepare()

    结束

    相关推荐

    QUERY_POST和wpdb返回不同结果

    我正在尝试按类别获取woocommerce产品。。当我使用wpdb进行查询时,它会正确地获取存在于后端产品列表中的产品。但是,当我使用query\\u posts进行查询时,它会得到另一组未在后端列出的产品。为什么会出现这种差异? global $post, $wpdb; $query = \"SELECT $wpdb->posts.* FROM $wpdb->posts LEFT JOIN $w