遇見這種情況:“Fatal error: Call to a member function fetch_row() on a non-object”
十年的平壩網站建設經驗,針對設計、前端、開發、售后、文案、推廣等六對一服務,響應快,48小時及時工作處理。成都營銷網站建設的優勢是能夠根據用戶設備顯示端的尺寸不同,自動調整平壩建站的顯示方式,使網站能夠適用不同顯示終端,在瀏覽器中調整網站的寬度,無論在任何一種瀏覽器上瀏覽網站,都能展現優雅布局與設計,從而大程度地提升瀏覽體驗。創新互聯從事“平壩網站設計”,“平壩網站推廣”以來,每個客戶項目都認真落實執行。
然后顯示出:“嚴重錯誤:調用fetch_row()的不是一個對象”。
就要立即開始檢查 :
首先,來執行代碼$result_news = $mysqli-query ( $query_news );
第二步開始檢查結果是否正確,也就是說,看 $result_news 是否為同一個對象,寫下代碼: print_r($result_news)來查看;
正確結果為: mysqli_result Object ( [current_field] = 0 [field_count] = 8 [lengths] = [num_rows] = 1 [type] = 0 )
連接字串中的用戶名和密碼錯誤。你查一下test.php的第三行看看就知道了。
這是由于數據庫連接數過多導致的,說明之前建立的連接你沒有釋放。
看到你的需求是實時獲取數據庫里面的內容,可以考慮使用內存數據庫,這樣返回的效率高,也會避免過多連接的錯誤。
可以使用redis和memcache來解決這個問題。代碼如下,記得首先要安裝redis,并且要安裝php-redis擴展。
?php
$redis = new Redis();
$redis-connect('127.0.0.1', 6379);//serverip port
$redis-auth('mypassword');//my redis password
$redis -set( "test" , "Hello World");
echo $redis -get( "test");