2010-08-17 36 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);并研究输出。

相关问题