如果之前有人问过,请道歉。我一直在寻找高低,并且在结果方面提出的很少,但我可能没有正确地搜索我的搜索。
我今天尝试从PHP 5.5升级到PHP 5.6,它打破了我使用MySQL的所有网站(所有其他PHP代码都很好)。
我没有收到MySQL错误,我确实看到连接正在建立,但看起来查询没有到达MySQL服务器。相反,似乎查询正在屏幕上打印,并且它们实际上并未执行。
我有两个例子
1:
2:
示例1应显示登录表单,示例2应显示一个下拉框,供用户选择。登录表单和下拉框已在屏幕上绘制,但它们未正确填充或填充变量名称而不是结果。
我通读了migration guide at PHP,甚至关于latin1字符集的说明(我的是UTF8),但那里并不多。
是否有一些我想念的东西或者我还没读过的东西?或者我应该深入挖掘? Apache& PHP日志似乎没有显示太多。由于我的谷歌搜索空白,我的选项已经用完了。有没有其他人经历过这个?
切换到PHP 5.5会使所有网站恢复正常,而不会出现上述错误/问题。切换回PHP 5.6再次引入了上面的错误/问题,所以我认为它是PHP 5.6特有的东西,但我对它没有错误地执行mysqli_connect感到困惑。
答案 0 :(得分:2)
看起来您的问题超出了SQL查询范围。您的第一张图片显示正在输出的PHP代码。您确定您的配置没有更改,例如关闭short_open_tag吗?
答案 1 :(得分:1)
对我来说,这看起来像带引号的代码问题。 您的回声/打印可能在某处有错误或未转义的引号? 例如:
<html><?php $var = '"string $text string"; ?></html> // note the extra single quote!
这会导致与图片显示的问题类似的问题。