[英]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.