2012-07-08 49 views
0

我試圖將變量更新到sqlite3數據庫中。該查詢是在sqlite瀏覽器中工作,但當我想通過我的網絡進行更新時,它給了我'致命錯誤:調用成員函數對非對象的execute()'。將變量更新到sqlite

Code: 
$DB = new PDO('sqlite:database/Sample.sqlite3'); 
$No = 1; 
$Name = 'John'; 
$RecordNo = 2; 
$statement ="update Sample set No =".$No.", Name='".Name."', Date='2012-05-14' where RecordNo=".$RecordNo; 
$update = $DB->prepare($statement); 
$update->execute(); 

致命錯誤在'$ update-> execute();''語句中。它應該執行,因爲沒有語法錯誤或代碼。好心提醒。

回答

1

另...

<?php 
$DB = new PDO('sqlite:database/Sample.sqlite3'); 
/* Execute a prepared statement by passing an array of insert values */ 
$No = 1; 
$Name = 'John'; 
$RecordNo = 2; 
$sth = $dbh->prepare('update sample set No=? Name=? Date='2012-05-14' where Recordno =?'); 
$sth->execute(array($No, $Name,$RecordNo)); 
?> 
+0

感謝它解決了我的電話給成員函數作爲對象。但爲什麼會發生? – JLearner 2012-07-08 09:42:28

+0

沒有調試器我無法給你一個正確的答案,但是你可能想檢查$語句的值。此外,字符串文字可能會產生影響。 – Eminem 2012-07-08 14:43:53