2012-01-04 80 views
0

當我得到這個錯誤: 調用一個成員函數查詢()一個非對象現在奇怪的錯誤PHP

當我去到線它指定的話,我看這樣的:

// Count the rows of a table 
$query = $this->c->query("SELECT COUNT(*) as `rows` FROM ".$query) or die($this->c->error); 
$row = $query->fetch_assoc(); 

$result = $row['rows']; 
return $result; 

現在經過一番努力,我發現,它給我,當我做死($結果)正確的結果;在返回之前,它會給出我需要的結果。

當我檢查什麼行調用函數然後我看到:

if($this->num_rows("accounts WHERE id='".$_SESSION['user_id']."'") == 0) 

我的班級我建立這樣的:

我做一個類Db的地方有一個功能NUM_ROWS,然後我做延伸DB類,在用戶類的構造函數的一類用戶I通過執行父:: __構建體()初始化DB類;我敢肯定,100%的類被初始化,因爲我可以做真正的逃逸字符串但不執行O.o任何人有任何疑問,可以幫助我嗎?

一些額外的信息:

當我print_r的我的方面,它給出了這樣的:

mysqli Object ([affected_rows] => 1 [client_info] => mysqlnd 5.0.8-dev - 20102224 -  $Revision: 310735 $ [client_version] => 50008 [connect_errno] => 0 [connect_error] => [errno] => 0 [error] => [field_count] => 1 [host_info] => localhost via TCP/IP [info] => [insert_id] => 0 [server_info] => 5.5.16 [server_version] => 50516 [sqlstate] => 00000 [protocol_version] => 10 [thread_id] => 715 [warning_count] => 0) mysqli Object ([affected_rows] => 1 [client_info] => mysqlnd 5.0.8-dev - 20102224 - $Revision: 310735 $ [client_version] => 50008 [connect_errno] => 0 [connect_error] => [errno] => 0 [error] => [field_count] => 1 [host_info] => localhost via TCP/IP [info] => [insert_id] => 0 [server_info] => 5.5.16 [server_version] => 50516 [sqlstate] => 00000 [protocol_version] => 10 [thread_id] => 715 [warning_count] => 0) 

的問題,我在我的頭上了就是爲什麼它,它出現了2個mysqli的對象?

DB類= http://pastebin.com/yvDij0kG User類= http://pastebin.com/ndwa2YRr

回答

0

好找到我自己的錯誤:對,是因爲我正在重寫構造函數,因爲我無法在自己的構造函數外啓動我的對象。

0

嘗試

if($this->c->num_rows("accounts WHERE id='".$_SESSION['user_id']."'") == 0) 

或嘗試調試 「$這個」 裏的錯誤occures

+0

沒有工作,調用未定義的方法的mysqli :: NUM_ROWS()錯誤的預期,NUM_ROWS不是的mysqli的函數,而是自定義一個我聯繫。當我調試$這然後我可以看到連接已打開。 – 2012-01-04 12:53:44

+0

給類,並展示如何實例化對象的節目,其中... – 2012-01-04 12:58:15

+0

添加類新 – 2012-01-04 13:20:58