【问题标题】:Moving from php5.2.17 to 5.3.3从 php5.2.17 迁移到 5.3.3
【发布时间】:2015-01-23 11:31:39
【问题描述】:

我正在将服务器从 Centos 5 php5.2.17 移动到 Centos 6 php5.3.3 我遇到了一个我没有编写的代码的问题。旧服务器大约两年没有问题,但在新服务器中,测试警告我: mysql_fetch_array() 期望参数 1 是资源,布尔值在第 43 行的 path_to_template/template.php 中给出

递归搜索: 模板.php -> 第 43 行:

while($value_comment = mysql_fetch_array($result_comments))

$result_comments = getComments($unique_id);

function getComments($unique_id)
{
    $query = "SELECT * FROM (...)";
    $result = mysql_query($query);

    return $result;
}

$link = mysql_connect($host,$username,$password);
$db = mysql_select_db($db,$link);`

$host “…”;
$username = “…”;
$password = “…”;
$db = “…”;`

为了得到一个输出错误,我更改了 $result:$result = mysql_query($query) or die(mysql_error());

没有选择数据库

我不知道两个 php 版本之间发生了什么变化

找到解决方案 mysql 用户名已导入,但没有任何数据库的权限(自动的东西......!)

【问题讨论】:

  • mysql_functions.. 掩护。
  • 可能是新版本禁用短标签导致部分代码没有执行???
  • 您可能会收到很多关于为什么应该使用 mysqli_query 的解释。除了安全方面,mysql_query 也将从 5.5 开始贬值
  • 我在其他脚本中使用了很多 mysql_query 函数,它们都可以正常工作
  • 短标签打开,如果没有,所有的php代码都会显示在浏览器中

标签: php centos centos6 centos5


【解决方案1】:

也许您的旧服务器 php 错误报告已关闭。 当 mysql 返回 0 条记录时,您会收到此错误。

$result = mysql_query($query);
$numResults = mysql_num_rows($result);
if ($numResults > 0) {
    // mysql_fetch_array
}

【讨论】:

  • 这与错误报告无关!这是关于工作脚本!旧的显示从数据库中获取的数据,新的不显示。相同的脚本
  • 请试试这个:var_dump($result);你的结果是什么?
猜你喜欢
  • 2017-05-17
  • 1970-01-01
  • 2012-12-04
  • 2011-04-26
  • 2015-07-23
  • 2020-05-31
  • 2010-10-26
  • 2022-01-14
  • 2016-09-27
相关资源
最近更新 更多