警告:mysql_query():10不是有效的MySQL-Link资源

时间:2010-08-13 14:58:07

标签: php mysql

  

可能重复:
  Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result

我得到"Warning: mysql_query(): 10 is not a valid MySQL-Link resource"引用我的PHP脚本中的一行,我使用"mysql_query($query, $link_identifier)"执行查询

4 个答案:

答案 0 :(得分:2)

$link_identifier必须是mysql_connect获得的值。如果您只使用一个数据库,则实际上不需要包含它;每个mysql_函数都使用默认情况下mysql_connect编辑的最后一个数据库。

如果您没有尝试传递链接标识符,那么您可能会尝试以某种方式使用mysql_query。我需要查看调用它的代码才能说出更多信息。

答案 1 :(得分:1)

对于MySQL链接标识符,10有点高,除非您在脚本中持有10个与MySQL打开的连接,或者为每个查询关闭/重新连接。您是否尝试传递先前的查询结果而不是DB句柄?像这样:

$dbh = mysql_connect(...);
$stmt = mysql_query('SELECT ...', $dbh);

以及稍后经过一系列查询后,可能正在进行

$stmt = mysql_query('SELECT ...', $stmt); // <--using $stmt instead of $dbh

同样,虽然不太可能,但不支持混合使用mysqli和mysql句柄。它们都执行相同的操作并在内部使用相同的库,但保留无法共享的单独连接池。

答案 2 :(得分:1)

我在绝望的谷歌搜索中遇到了这个问题。 cHao和Lars说的东西激励了我,我发现了我的问题。

我有一个数据库类,除了我传递生成的数据库对象之外的许多其他标准类(我似乎经常重写而不是重用)。我已经以错误的顺序实例化它们(不首先初始化数据库),并且由于回退数据库链接检查器,大多数针对Database对象的调用都会成功。

但是,对于一个特定的实例,这个回退被跳过(我还没有确定原因),并且我的实例化顺序错误已经暴露。

我的故事的道德:如果您在应用程序中使用类,则对象创建/构造和依赖关系的三重检查顺序,确保首先加载依赖类。

答案 3 :(得分:0)

然后$link_identifier的值似乎是10,不应该是: - )