簡體   English   中英

調用未定義的方法CI_DB_mysqli_driver :: result()

[英]Call to undefined method CI_DB_mysqli_driver::result()

我的模型錯誤:調用未定義的方法CI_DB_mysqli_driver :: result()

     <?php
     defined('BASEPATH') OR exit('No direct script access allowed');

     class teacher_feedback extends CI_Model {

     public function teacher_feedback_query($teacher)
      {
    $teacher_feedback_query = 'SELECT TD.name, TD.subject, TFA.answer_value,    SBI.first_name, TFSAC.comment, TFSC.comment, TFQ.teachers_feedback_question_id FROM teacher_details as TD inner join teachers_feedback_student_answer as TFSA on TFSA.teacher_id = TD.teacher_id inner join  teachers_feedback_answer as TFA on TFA.teachers_feedback_answer_id = TFSA.teachers_feedback_answer_id inner join teachers_feedback_student_answer_comment as TFSAC on TFSAC.teacher_id = TD.teacher_id inner join student_basic_info as SBI on SBI.student_id=TFSAC.student_id inner join teachers_feedback_student_comment as TFSC on TFSC.student_id = SBI.student_id inner join teachers_feedback_question as TFQ on TFQ.teachers_feedback_question_id = TFSA.teachers_feedback_question_id  where TD.teacher_id = ?';

$teacher_query = $this->db->query($teacher_feedback_query,array($teacher));
$teacher_feedback_result = $this->db->result($teacher_query);
return $teacher_feedback_result();
}
}
?>

嘗試返回result_array()而不是僅返回result()

我認為您在這里嘗試做的是錯誤的。 應該對查詢結果而不是在db對象上調用result方法。

嘗試這個:

<?php

defined('BASEPATH') OR exit('No direct script access allowed');

class teacher_feedback extends CI_Model {

     public function teacher_feedback_query($teacher)
     {
          $teacher_feedback_query = 'SELECT TD.name, TD.subject, TFA.answer_value,    SBI.first_name, TFSAC.comment, TFSC.comment, TFQ.teachers_feedback_question_id FROM teacher_details as TD inner join teachers_feedback_student_answer as TFSA on TFSA.teacher_id = TD.teacher_id inner join  teachers_feedback_answer as TFA on TFA.teachers_feedback_answer_id = TFSA.teachers_feedback_answer_id inner join teachers_feedback_student_answer_comment as TFSAC on TFSAC.teacher_id = TD.teacher_id inner join student_basic_info as SBI on SBI.student_id=TFSAC.student_id inner join teachers_feedback_student_comment as TFSC on TFSC.student_id = SBI.student_id inner join teachers_feedback_question as TFQ on TFQ.teachers_feedback_question_id = TFSA.teachers_feedback_question_id  where TD.teacher_id = ?';

          $teacher_query = $this->db->query($teacher_feedback_query,array($teacher));
          //$teacher_feedback_result = $this->db->result($teacher_query);
          $teacher_feedback_result = $teacher_query->result();
          return $teacher_feedback_result; // Remove parenthesis, $teacher_feedback_result is not a function
     }
}

?>

編輯:

關於錯誤調用未定義的方法CI_DB_mysqli_driver :: result()

PHP拋出此錯誤,因為CodeIgniter MySQLi適配器類沒有方法result 這是CodeIgniter MySQLi驅動程序類。 您可以檢查它,沒有這樣的方法result

https://github.com/bcit-ci/CodeIgniter/blob/develop/system/database/drivers/mysqli/mysqli_driver.php

因此,當您調用$this->db->result($teacher_query)$this->db附加到CI_DB_mysqli_driver ,因此您收到錯誤消息,即正在調用未定義的方法。

大多數情況下,由於我們在上面應用了核心php代碼,而ci有自己的方式來應用此錯誤,因此會出現此類錯誤。 因此,有時我們成功地應用了一些核心代碼,但有時卻沒有。 在這種情況下,請嘗試繼續使用ci doc,您很可能會找到解決方案。 祝好運。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM