WordPress函数get_row()无法正常工作

时间:2017-07-29 20:30:55

标签: wordpress function member

我在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_category()的文件:

 $cat_table = take_category();

但如果我改变我的第689行:

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

我看到 var_dump($ row):

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

和同样的致命错误!

功能 get_row 有什么问题?

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

3 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

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

答案 2 :(得分:0)

conntect_to->connect_to->中的错字错误。小心使用。