mysql_fetch_object():提供的参数不是有效的MySQL结果资源

时间:2010-08-17 06:10:44

标签: php mysql cron

我正在尝试设置一个简单的cron脚本来进行一些数据库更新,而对于没有ActiveRecord的MySQL(我使用CodeIgniter),我是毫无价值的。我一直收到错误消息,

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的建议,我会很感激)。有什么想法吗?

2 个答案:

答案 0 :(得分: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 :(得分:1)

此错误非常简单且不言自明 - $ result变量具有意外类型 因此,你必须进行一些调试。在循环前和内部添加var_dump($result);并研究输出。