gpt4 book ai didi

php - 如何在 CI 中的非对象上获取 num_rows()

转载 作者:行者123 更新时间:2023-11-30 21:50:43 27 4
gpt4 key购买 nike

所以我想从我的模型中得到响应:

function get_list_sales_kit(){
$brispot = $this->load->database('brispot',TRUE);
$brispot->select('id,title,imgurl,description');
$qrydata = $brispot->get('saleskit');
$brispot->close();
return $qrydata->result();
}

这是调用该模型的函数:

function salesKit2($request){
$result = new stdClass;
$user='';
$CI =& get_instance();
$CI->load->library('libs_bearer');
$CI->load->library('libs_brispot');
$CI->load->model('service_model');
$datapost = json_decode($request);
if(isset($datapost->user)){
$user = substr('00000000'.$CI->security->xss_clean(trim($datapost->user)),-8);
if($CI->libs_bearer->cekToken($user)==true){
$getdata = $CI->service_model->get_list_sales_kit();
if($getdata->num_rows()>0){
$result->responseCode='00';
$result->responseDesc='Inquiry berhasil.';
$result->responseData=$getdata->result();
}

}

但我得到了错误结果,如 fatal error 调用非对象上的成员函数 num_rows()。我对如何在 num_row 上调用非对象感到困惑,或者是否有任何东西可以替换 num_row 以获得响应?

最佳答案

如果您真的想从 get_list_sales_kit() 函数返回结果,那么获取行数的唯一方法是 count($getdata) 正如 Lawrence 所说在评论中。

话虽如此,我有时会像这样返回数据库对象本身:

function get_list_sales_kit(){
$brispot = $this->load->database('brispot',TRUE);
$brispot->select('id,title,imgurl,description');
$qrydata = $brispot->get('saleskit');
$brispot->close();
return $qrydata; // this line changed
}

因此,您可以在其上运行任何 CI 数据库函数,例如 row() result() num_rows() 等等。第二个代码片段中无需更改任何内容,因为出于某种原因您已经在访问 result() 对象,即使您在第一个函数中返回它也是如此。

注意:我不确定 close() 是否会影响事后调用的对象。为什么做完一件事情就关闭数据库?

关于php - 如何在 CI 中的非对象上获取 num_rows(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47404091/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com