mysql_query()期望参数2是与远程mysql数据库连接时的资源错误


mysql_query() expects parameter 2 to be resource error in connection with remote mysql DB

我的PHP代码在连接远程windows系统mysql数据库时运行良好,并返回输出。但是,当我使用相同的方法连接远程linux系统的mysql数据库时,我得到了以下错误:

"mysql_query()要求参数2为resource,在中给定布尔值C: ''wamp''www''mysqldb.php第88行"

第88行包含以下内容"$this->resultQur=mysql_query($query,$this->connID);"

帮我解决这个问题。

是的。在这种情况下,资源为null。但在windows-mysql连接中也是如此。我只在linux中得到错误。需要对linux环境进行任何更改吗?

在放入"print mysql_error();"时,我得到了以下错误

"由于连接方在一段时间后没有正确响应,连接尝试失败,或者由于连接的主机没有响应,建立的连接失败。"

您提供的资源来自mysql_connect,但没有成功!

  • 打开错误报告
  • 在脚本中构建一些基本的错误处理
  • 不要使用mysql_*而是使用mysqli_*或更好的PDO with parameter binding

查询后,输出从mysql_error()返回的字符串。这样你就会看到实际的错误。

$this->resultQur = mysql_query($query, $this->connID);
print mysql_error();

mysql_connect在成功时返回一个资源,但在出错时返回布尔值"false"。

您的连接尝试可能失败了,因此mysql_query不会成功。

请尝试以下操作,看看到底是什么原因导致了错误。

mysql_connect(..) or die(mysql_error());

此外,PHP中似乎不赞成使用"旧"的mysql库,建议切换到更现代的版本,例如mysqli或PDO。

1。首先放入ini_set('display_errors',1);error_reporting(E_ALL | E_STRICT);在页面开头的代码中

2。在查询周围放置Try catch并打印异常消息

try{enter code here}catch(异常$e){echo'捕获异常:',$e->getMessage(),"''n";}

3。使用PDO,然后使用mysql对象进行查询——这是一种现代且更好的方法在查询中使用try-catch,并尝试