【问题标题】:Differences in php 5.3.10 and 5.3.15?php 5.3.10 和 5.3.15 的区别?
【发布时间】:2013-08-08 00:04:29
【问题描述】:

我在两个不同的服务器上运行完全相同的 PHP 脚本作为应用程序的 Web 服务。一个执行所有查询(一个运行 5.3.15),另一个(运行 5.3.10)不运行某些查询。当我告诉一些查询执行时,它会创建一个服务器错误。

运行5.3.15的机器是mac os x lion机器,另一台是和ubuntu 12.04的。

你们知道可能出了什么问题吗?下面是两个查询示例。第一个适用于 php 5.3.10,第二个不适用。

工作:

$stmt = $this->db->prepare("SELECT DISTINCT b.id
            FROM a
            LEFT JOIN b
            ON a.item_id = v.id
            INNER JOIN c
            ON a.id = c.item_id
            LEFT JOIN d
            ON c.status_id = d.id
            WHERE d.property = 1");

服务器错误:

$stmt = $this->db->prepare("SELECT a.id AS id, d.ordering AS ordering,
            d.name AS name2,
            a.service_id AS service_id, b.name AS name, 
            c.name AS name1, a.due_date AS due_date,
            d.status AS status
            FROM a INNER JOIN b
            ON a.title_id = b.id
            LEFT JOIN c
            ON b.tv_show_id = c.id
            LEFT JOIN d
            ON a.status_id = d.id
            WHERE b.provider_id = ? 
            AND (b.film_id= ? OR b.name 
            LIKE CONCAT('%', ?, '%') OR c.name 
            LIKE CONCAT('%', ?, '%')) LIMIT 2000");

注意:我非常对这些查询的各种批评持开放态度,但只说我很乱或需要阅读 sql 的答案对我没有多大帮助。此外,数据库名称实际上不仅仅是字母,出于安全目的我已更改它们。

问题很可能出在所使用的函数之类的问题上,因为代码(在我通过更改所有名称迅速将其扼杀之前)在 php 5.3.15 中完美运行。

如果错误没有意义,那么还有什么问题?我直接在 mysql 控制台中运行查询,它运行良好,但是当我 bound_params 并根据传入的变量执行它们时,第二个查询失败。任何帮助表示赞赏!

编辑:

错误信息是: 抓住 SIGTERM,关闭 - 我会调查的。感谢所有提供帮助的评论者!

【问题讨论】:

  • 错误信息是什么?
  • 我实际上在打印它时遇到了一些麻烦。您如何建议我获得比服务器错误更有用的信息?我知道它在 $stmt->execute();
  • 您可能会为您的数据库或 Web 服务器应用程序找到错误日志。
  • 如果通过数据库服务器的命令行界面运行出错的 SQL 会发生什么?如果将出错的 SQL 简化为 select id from a,然后一次构建一个子句,会发生什么?
  • Mike - 我提到我直接通过 mysql 界面运行查询,它对两者都有效。所以现在我只是对 php 方面出了什么问题感到困惑。 Rutter - 我会调查它并用我的发现编辑主要帖子。谢谢大家!

标签: php sql osx-lion version ubuntu-12.04


【解决方案1】:

我意识到我的问题,如果有人遇到同样的事情,我将分享:

我的 Ubuntu php 没有安装 mysqldb,只是简单的 mysql(默认)。因此,“fetch_assoc()”和“get_result()”之类的函数不起作用。对于解决方法,我参考了以下帖子:

Call to undefined method mysqli_stmt::get_result

【讨论】:

    猜你喜欢
    • 2012-12-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-08
    • 2011-02-17
    • 1970-01-01
    • 2013-09-13
    相关资源
    最近更新 更多