我的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,并尝试