使用WordPress$wpdb对象从自定义表获取结果时出错

时间:2017-07-18 作者:Shah Ghafoori

我试图使用$wpdb对象从自定义表中获取结果,但在回显结果时出现错误:

Notice: Undefined property: stdClass::$category in...
以下是PHP代码:

global $wpdb;
$prodCat = $wpdb->get_results( 
"SELECT * FROM product_category" , OBJECT_K);
    foreach ( $prodCat as $row ){
                echo $row->category-name;
    }
非常感谢您的帮助。

2 个回复
最合适的回答,由SO网友:Syed Fakhar Abbas 整理而成

我已经检查了您的代码,我认为您必须考虑以下几点:

表前缀

  • 列名
  • 验证get\\u results函数输出首先,原始前缀定义在wp-config.php. WordPress$wpdb class 提供变量$前缀。始终使用$wpdb obefore表格名称,它将自动插入表格前缀。像这样:$wpdb->product_category

    其次,确保列名正确。您可以通过转储get\\u results输出来查看所有列名称。e、 g:var_dump( $prodCat );

    第三,get\\u results以数组形式返回输出。如果没有数据或数据库错误,则返回值将为空数组,如果查询为空或传递了无效的output\\u类型,即:“OBJECT\\u K”,则将返回NULL。因此,始终验证您的输出。e、 g:if( $prodCat ).


    
    global $wpdb;
    
    $prodCat = $wpdb->get_results( "SELECT * FROM $wpdb->product_category " , OBJECT_K);
    
    if( $prodCat ) {
    
        foreach ( $prodCat as $row ) {
    
           echo $row->category_name;
    
        }
    }
    
    

  • SO网友:Sanjeev Chauhan

    我认为问题是一致的

    echo$行->类别名称;

    它应该是echo$row->category\\u name;如果您的查询正在获取数据。

    结束

    相关推荐

    警告::DOMDocument::loadHTML():在向POST图像添加类时,在unctions.php中作为输入提供的空字符串

    因此,我使用这段代码为帖子和页面内容中加载的所有图像添加了一个额外的类,一切正常,但如果没有图像,我会收到错误,有时还会在加载图像之前加载错误。这是代码function add_img_post_class($content){ $content = mb_convert_encoding($content, \'HTML-ENTITIES\', \"UTF-8\"); $document = new DOMDocument(); libxml_use_in