0

首先,我想强调一个事实,即相同的脚本确实可以在另一台服务器上运行并且永远不会引发错误。所以它不是脚本内部的东西,而是服务器配置/mysql连接中的东西。所以这里有些人错误建议的话题没有答案。

我不知道的东西,但我需要一个建议。

因此,我将脚本从另一台服务器(实时网站,一切正常)复制到我在 digitalocean(centos 6.4 x64)上安装了vestacp(cpanel / plesk 的免费替代品)上的新液滴(VPS)。相同的脚本(100% 在一台服务器上工作)。

所以出现了错误“2 is not a valid MySQL-Link resource”。相同的脚本,使用 wget -m 复制文件。

所以我想原因应该是在 mysql 配置中的某个地方,但不知道那个错误是关于哪里和什么的。请指教。

试图从我的电脑重新上传所有脚本文件,仍然是同样的错误。所以脚本应该可以工作(因为它也可以在另一台服务器和我的本地服务器上工作),但它不能在我的 DO droplet 上工作。

使用 pconnect 解决了问题。

对于所有将我的主题标记为重复的聪明人——你并不总是对的。

4

2 回答 2

1

如果数据库连接失败,您可能会收到“指定变量不是有效的 MySQL-Link 资源”错误,

$link = mysql_connect('localsoth','baduser','badpass'); // failed connection
$result = mysql_query("SELECT 1", $link); // throws error

由于您在错误消息中获得了特定的资源 ID,因此数据库连接可能由于某种原因意外关闭。您的程序仍有一个带有资源 ID 的变量,但外部对象不再存在。这可能是由于调用 mysql_query 之前某处的 mysql_close() 调用,或者是关闭连接的外部数据库错误。

$link = mysql_connect();
mysql_close($link);
// $link may still contain a resource identifier, but the external object is gone
mysql_query("SELECT 1", $link);

请浏览@nrathaus 提到的链接,即警告:mysql_query(): 3 is not a valid MySQL-Link resource

于 2013-07-03T06:25:13.793 回答
0

您的错误似乎很常见,一个简单的搜索显示:警告:mysql_query():3 不是有效的 MySQL-Link 资源是的,他的错误号是 3,你的是 2,这是因为 PHP 中的指针分配,它们是相同的错误/问题和解决方案。

于 2013-07-03T06:15:58.517 回答