PHP 5.5 > PHP 5.6 升级导致 MySQL 问题?

PHP 5.5 > PHP 5.6 Upgrade Causing MySQL Issues?

如果之前有人问过这个问题,我们深表歉意。我一直在高低搜索,结果很少,但我的搜索措辞可能不正确。

我今天尝试从 PHP 5.5 升级到 PHP 5.6,它破坏了我所有使用 MySQL 的网站(所有其他仅 PHP 的代码很好)。

我没有收到 MySQL 错误,我确实看到正在建立连接,但查询似乎没有访问 MySQL 服务器。相反,查询似乎打印在屏幕上,但实际上并未执行。

我有2个例子

1:

2:

示例 1 应显示一个登录表单,示例 2 应显示一个下拉框,其中包含用户 select。登录表单和下拉框已绘制在屏幕上,但它们要么未正确填充,要么填充的是变量名称而不是结果。

我通读了 migration guide at PHP,甚至是关于 latin1 字符集的注释(我的是 UTF8),但那里的内容不多。

是否有明显我遗漏的内容或我尚未阅读的内容?还是我应该更深入地挖掘? Apache & PHP 日志似乎没有显示太多内容。我 运行 没有选择,因为我的 google 搜索结果是空白的。以前有其他人遇到过这种情况吗?

切换到 PHP 5.5 使所有网站恢复正常,没有出现上述错误/问题。切换回 PHP 5.6 会再次引入上述错误/问题,所以我相信这是 PHP 5.6 特有的问题,但令我困惑的是它没有错误地执行 mysqli_connect .

您的问题似乎超出了 SQL 个查询范围。您的第一张图片显示正在输出 PHP 代码。您确定您的配置没有改变,例如关闭 short_open_tag 吗?

对我来说,这看起来像是带引号的代码问题。 您的 echo / print 可能在某处有错误或未转义的引号? 示例:

<html><?php $var = '"string $text string"; ?></html> // note the extra single quote!

这会导致与您的图片显示类似的问题。