0

我的 PHP 代码在连接远程 windows 系统 mysql 数据库并返回输出时效果很好。但是,当我使用它连接远程linux系统的mysql数据库时,我得到了以下错误:

“mysql_query() 期望参数 2 是资源,布尔值在第 88 行的 C:\wamp\www\mysqldb.php 中给出”

第 88 行具有以下内容“$this->resultQur = mysql_query($query, $this->connID);”

帮我解决这个问题。

是的。在这种情况下,资源为空。但同样适用于 windows mysql 连接。我只在linux中得到了错误。需要对linux环境做任何改变吗?

在放置“打印mysql_error();”时 我收到以下错误

“连接尝试失败,因为连接方在一段时间后没有正确响应,或者连接失败,因为连接的主机没有响应。”

4

4 回答 4

4

您提供的资源来自 mysql_connect 并且没有成功!

  • 将错误报告放在
  • 在脚本中构建一些基本的错误处理
  • 不要使用mysql_*mysqli_*甚至更好PDO with parameter binding
于 2012-09-07T07:06:46.013 回答
0

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

$this->resultQur = mysql_query($query, $this->connID);
print mysql_error();
于 2012-09-07T07:07:33.487 回答
0

mysql_connect 在成功时返回资源,但在错误时返回布尔值“false”。

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

尝试以下类似的操作,看看究竟是什么导致了错误。

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

此外,似乎“旧” mysql-library get 在 PHP 中已被弃用,建议切换到更现代的版本,例如mysqliPDO

于 2012-09-07T07:12:29.037 回答
0

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

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

try { enter code here }catch (Exception $e) { echo 'Caught exception: ', $e->getMessage(), "\n"; }

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

于 2012-09-07T07:40:55.503 回答