gpt4 book ai didi

PHP 应用程序无法与某些 MYSQL 数据库通信

转载 作者:行者123 更新时间:2023-11-29 21:24:38 25 4
gpt4 key购买 nike

我有一个 PHP Web 应用程序,直到今天一直运行良好(它位于 Windows/IIS 服务器上)。当我尝试访问连接到 MYSQL 数据库的页面时,我在 Firefox 中看到一个空白页面。在 IE 中,我收到 500 内部服务器错误。正常的 PHP 工作正常,只是当我尝试连接到数据库时。 mysqli 连接没有给出任何错误消息。

奇怪的是 - 我在同一台服务器上有 phpmyadmin 并且它工作正常,我可以看到我的数据库并与其交互。

我的服务器上还有另一个工作正常的数据库,附加到该数据库的用户具有只读访问权限(因为它是存档数据库),但连接到它的 PHP Web 应用程序可以正常工作。

我尝试了什么?

  • 最初我认为这是一个用户问题,因此我在 phpmyadmin 中创建了一个具有完全权限的新用户,并让 PHP 应用程序使用它登录,结果相同。
  • 然后我认为这是数据库的问题,因此我将数据和结构复制到新数据库,结果相同。
  • MYSQL.err 日志文件没有错误,并表明服务器正在接受连接(确实如此,因为 phpmyadmin 正在工作)。

我什至尝试编写测试脚本:

<?php
//Debugging
ini_set('display_errors',1);
ini_set('display_startup_errors',1);
error_reporting(-1);

include "settings.php";

echo $HOST . "<br>";
echo $DBNAME . "<br>";
echo $DBUSERNAME . "<br>";
echo $DBPASSWORD . "<br>";

$CON = new mysqli($HOST, $DBUSERNAME, $DBPASSWORD, $DBNAME);

//Check the connection and report error if it failed
if ($CON->connect_errnum > 0)
{
die('Unable to connect to database [' . $CON->connect_error . ']');
}

$result = $CON->query("select user() AS us");

if (!$result)
die("There was an error running the query [" .$CON->error ."]");
}

while($row = $result->fetch_assoc())
{
echo $row["us"] . "<br>";
}
?>

如果我没有 $result = $CON->query("select user() AS us"); 中的代码,它会显示 4 个值。一旦我包含它,我就会得到 500 内部服务器错误页面。

我不知道发生了什么或从哪里开始寻找。

最佳答案

我的一个支持类存在语法错误,这导致页面在到达数据库连接之前失败。因为我的错误报告已关闭,所以我看不到它(即使我认为它已打开)。我必须进入 PHP.ini 并将 display_errors = off 设置为 display_errors = on。然后显示错误消息。

关于PHP 应用程序无法与某些 MYSQL 数据库通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35567831/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com