2010-08-17 35 views
0

我想設置一個簡單的cron腳本來做一些數據庫更新,而且我沒有ActiveRecord(我使用CodeIgniter)沒有價值。我不斷收到錯誤消息,mysql_fetch_object():提供的參數不是一個有效的MySQL結果資源

mysql_fetch_object(): supplied argument is not a valid MySQL result resource 

用下面的代碼:

mysql_connect("localhost", "user", "pass") or die(mysql_error()); 
mysql_select_db("my_db") or die(mysql_error()); 
$query = "select visit_e_id, visit_e_type from visits"; 
$result = mysql_query($query) 
or die("Query failed: ".mysql_error()." Actual query: ".$query); 

while($row=mysql_fetch_object($result)) 
{ 
    .... 
} 

就像我說的,我不直PHP和MySQL(這個偉大的希望得到有關如何將任何意見可以用作cron作業一部分的某種框架或ActiveRecords)。有什麼想法嗎?

+1

是不是打印出「查詢失敗:」錯誤信息?嘗試'var_dump($結果);' - 唯一的其他可能的原因是簡單的錯誤 – 2010-08-17 06:18:04

+0

可能重複的[mysql_fetch_assoc():提供的參數是不是一個有效的MySQL結果資源在PHP](http://stackoverflow.com/questions/ 1858304/MySQL的取入ASSOC提供的參數的此結果不是一個有效MySQL的對結果的資源在-PH) – 2011-09-16 17:49:48

回答

1

如果將mysql_connect作爲變量分配並將其作爲鏈接標識符作爲第二個參數傳遞給mysql_select_dbquery函數,會發生什麼?

$db = mysql_connect("localhost", "user", "pass") or die(mysql_error()); 
// Check to see if valid connection 
var_dump($db); 

mysql_select_db("my_db", $db) or die(mysql_error()); 
$query = "select visit_e_id, visit_e_type from visits"; 
$result = mysql_query($query, $db) 
or die("Query failed: ".mysql_error()." Actual query: ".$query); 

while($row=mysql_fetch_object($result)) 
{ 
    .... 
} 

還要確保查詢語法正確,沒有拼寫錯誤或錯別字

1

此錯誤是非常簡單和不言自明 - 一個$ result變量中有意想不到的類型。
因此,你必須這樣做一些調試。在循環前後添加var_dump($result);並研究輸出。

相關問題