如何解决在mysql_fetch_object while循环内运行查询会导致错误
|| 我正在运行一个查询,以从源表中提取一些电影数据,以导入到新的数据库结构中。然后,我使用mysql_fetch_object遍历结果并解析数据,调用外部函数等,以将流派,演员等添加到数据库中的其他表。 我要调用的函数之一是查询同一数据库中的另一个表。然后,我在该查询中获得了“无效的MySQL-Link资源”。 有什么会引起问题的吗? 以下是有关错误发生方式的一些代码:function doThis($thing) {
mysql_query(\"SELECT derp FROM herp WHERE sherp = $thing\",$db)or die(mysql_error());
}
$query = mysql_query(\"SELECT foo FROM bar\",$db);
while($row = mysql_fetch_object($query)) {
doThis($row->awesome);
}
从本质上讲,这就是我正在执行的操作,但出现错误并且不知道为什么。
需要注意的是,在此过程中,我正在连接到2个数据库。我要从中提取数据的数据库以及我要导入的数据库。
谢谢!
解决方法
2件事情:您尚未在函数中将$ db声明为全局变量(因此未声明它,从而导致您看到的错误)。添加以下内容:
global $db;
其次,从while循环内部删除function关键字。这很可能导致php出现问题。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。