2017-07-29 159 views
0

我在WordPress中得到函数get_row()的问题,无法找到满足我的情况的答案。那是一段我的代码WordPress函数get_row()无法正常工作

function take_category() { 

    $table_result = array(); 
     $connect_to = connect_to_db(); 
    $question = "select id_cat, name_cat from category"; 
    if (!($result=$connect_to->get_results($question, ARRAY_N))) { 
     return false; 
    } 
    $prepared_row =$connect_to->prepare("%s", $question); 
    var_dump($prepared_row); 
     $row=$conntect_to->get_row($prepared_row, ARRAY_N, 1); // line 689 
    var_dump($row).'</br>'; 
    for ($count=0; $row=$conntect_to->get_row($question, ARRAY_N, 1); 
$count++) { 
    $table_result[$count] = $row; 
     ......... 
    return $table_result; 

此功能被放置到的functions.php。功能connect_to_db()在这个文件中定义,以及:

function connect_to_db() { 
    global $wpdb; 
    $wpdb = new wpdb('****', '', '****store', 'localhost'); 
    if (!$wpdb) { 
     return false; 
    } else{ 
    $wpdb->query('SET autocommit = 1;'); 
    return $wpdb; 
    } 
} 

连接到数据库能正常工作。功能准备也正常工作。这是的var_dump($ prepared_row):

string(39) "'select id_cat, name_cat from category'" 

但接下来的一段代码

$row=$conntect_to->get_row($prepared_row, ARRAY_N, 1); // line 689 
var_dump($row); 

结果显示的NULL:和致命错误

***Fatal error:** Uncaught Error: Call to a member function get_row() on 
null in ....\functions.php:689 Stack trace: #0 ...\indeks.php(12): 
take_category() #1 {main} thrown in ...\functions.php on line 689* 

文件indeks.php是一个文件,其中功能take_cate血腥()被称为:

$cat_table = take_category(); 

但是,如果我改变了我行689是这样的:

$row=$connect_to->get_row("select id_cat, name_cat from category", 
ARRAY_N, 1); 

我看到的var_dump($行):

array(2) { [0]=> string(1) "2" [1]=> string(9) "Textbooks" } 

和同样的致命错误!

功能有什么问题get_row

亲爱的gentelments我发现问题。对不起,怀着你的时间...

回答

0

应该$conntect_to->get_row()不是$connect_to->get_row()

+0

亲爱的gentelmen!感谢您的回复。我写道,我发现了这个错误,并纠正它。不幸的是,我无法删除我的问题。抱歉。 –

0

变量拼错了。您之前设置了$connect_to。但是现在您正在访问$conntect_to。将它重命名为$connect_to

0

输入错误conntect_to->connect_to->。小心使用它。