2010-10-29 111 views
0

有問題和更新查詢我不斷收到UPDATE查詢預處理語句與

Warning: Crud::update() [crud.update]: Property access is not allowed yet in crud.php on line 60 

這是我的代碼

$stmt = $this->mysql->prepare('UPDATE links SET title = ?, url = ?, comment = ? WHERE id = ?'); 
$stmt->bind_param('sssi',$title,$url,$comment,$id); 
$stmt->execute(); 
$stmt->close(); 
on line 60 return $stmt->affected_rows; 

GOOGLE了它,只發現在註釋中的PHP文件中一個參考,但我無法理解評論:/

+0

該警告涉及哪一行?我想,你所展示的線條都不是。 – 2010-10-29 22:05:11

+0

真的很抱歉,現在編輯 – andrei 2010-10-29 22:14:11

回答

0

你確定這個stastation返回true嗎?根據php文檔,如果語句沒有準備好,或者根本沒有準備好,就會發生這個錯誤。

「爲了防止出現這種情況,請始終確保在訪問這些屬性前,」prepare「語句的返回值爲true。」

希望這有助於 歡呼

+0

是這就是我在php.net上閱讀的評論,但不明白它 – andrei 2010-10-29 22:15:08

+0

你測試了自己的查詢嗎?我的意思是直接給DB?並且您傳遞給該語句的值是否正確?我猜文檔是指 – Ron 2010-10-29 22:27:57

+0

查詢是正確的問題似乎與返回$ stmt-> affected_rows;非常奇怪,不知道爲什麼。 – andrei 2010-10-29 22:38:46

0

你想

$stmt->affected_rows(); 

$stmt->affected_rows; 

我不確定。

否則,您可以在檢查受影響的行之前檢查以確認沒有首先發生mysql錯誤。

+0

這個問題似乎是我在請求受影響的行爲之前關閉了這個語句 – andrei 2010-10-30 10:24:13

0

問題是我用$ stmt-> close();在使用$ stmt-> affected_rows之前;愚蠢的錯誤真的。那就是我得到的深夜編碼。