手机看片精品高清国产日韩,色先锋资源综合网,国产哺乳奶水91在线播放,乱伦小说亚洲色图欧洲电影

幫助中心 >  技術知識庫 >  云服務器 >  服務器教程 >  PHP “Call to a member function row_array () on boolean” 報錯原因及解決辦法

PHP “Call to a member function row_array () on boolean” 報錯原因及解決辦法

2025-02-26 17:11:48 1772

php程序報錯Fatal error Call to a member function row_array() on boolean in的原因及解決辦法


歡迎來到藍隊云技術小課堂,每天分享一個技術小知識。


php程序出現 Fatal error: Call to a member function row_array() on boolean 錯誤的原因可能是 $this->db->get($table) 返回了布爾值 false,而不是一個查詢結果對象。這通常發生在查詢失敗時,例如由于 SQL 語法錯誤或數據庫連接問題。


解決方法

檢查查詢是否成功: 在調用 row_array() 之前,檢查查詢結果是否為有效的對象。

if (!empty($like)) {

    foreach ($like as $k => $v) {

        $this->db->like($k, $v); // 搜索條件

    }

    $this->db->select('count(*) as count');

    $query = $this->db->get($table);

    if ($query !== false) {

        $rows = $query->row_array();

        $nums = isset($rows['count']) ? (int) $rows['count'] : 0;

    } else {

        // 查詢失敗的處理邏輯

        $nums = 0;

    }

    return $nums;}

檢查 SQL 語法: 確保 $like 數組中的鍵和值正確無誤,并且 SQL 查詢語法正確。如果查詢失敗,可能是 SQL 語法錯誤導致的。

使用 num_rows() 檢查結果: 如果查詢成功但沒有結果,row_array() 會返回 null。可以使用 num_rows() 檢查結果集是否為空。

$query = $this->db->get($table);if ($query->num_rows() > 0) {

    $rows = $query->row_array();

    $nums = (int) $rows['count'];} else {

    $nums = 0;}

調試查詢: 使用 $this->db->last_query() 查看生成的 SQL 查詢,以便調試。

echo $this->db->last_query();


示例代碼

以下是完整的示例代碼,展示如何正確處理查詢結果:

php復制

if (!empty($like)) {

    foreach ($like as $k => $v) {

        $this->db->like($k, $v); // 搜索條件

    }

    $this->db->select('count(*) as count');

    $query = $this->db->get($table);

    if ($query !== false && $query->num_rows() > 0) {

        $rows = $query->row_array();

        $nums = isset($rows['count']) ? (int) $rows['count'] : 0;

    } else {

        $nums = 0;

    }

    return $nums;}


通過以上方法,可以有效避免 Fatal error: Call to a member function row_array() on boolean 錯誤。如果問題仍然存在,可能需要進一步排查。


藍隊云官網上擁有完善的技術支持庫可供參考,大家可自行查閱,更多技術問題,可以直接咨詢。同時,藍隊云整理了運維必備的工具包免費分享給大家使用,需要的朋友可以直接咨詢。

更多技術知識,藍隊云期待與你一起探索。

提交成功!非常感謝您的反饋,我們會繼續努力做到更好!

這條文檔是否有幫助解決問題?

非常抱歉未能幫助到您。為了給您提供更好的服務,我們很需要您進一步的反饋信息:

在文檔使用中是否遇到以下問題: