Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP应用程序未与某些MYSQL数据库通信_Php_Mysql_Database_Iis_Mysqli - Fatal编程技术网

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

PHP应用程序未与某些MYSQL数据库通信,php,mysql,database,iis,mysqli,Php,Mysql,Database,Iis,Mysqli,我有一个PHP web应用程序,它一直工作良好,直到今天(它位于Windows/IIS服务器上)。当我尝试访问连接到MYSQL数据库的页面时,firefox中会出现一个空白页面。在IE中,我得到一个500内部服务器错误。普通的PHP工作得很好,只是当我尝试连接到数据库时。mysqli连接没有给出任何错误消息 奇怪的是,我在同一台服务器上有phpmyadmin,它工作正常,我可以看到我的数据库并与之交互 我在服务器上还有另一个数据库工作正常,连接到该数据库的用户具有只读访问权限(因为它是一个存档数

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

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

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

我试过什么?

  • 最初我认为这是一个用户问题,所以我在phpmyadmin中创建了一个具有完全权限的新用户,并让PHP应用程序使用它登录,结果相同
  • 然后我认为这是数据库的问题,所以我将数据和结构复制到一个新的数据库中,结果相同
  • 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(“选择user()作为我们”)的代码向下,显示4个值。一旦我包含它,我就会得到500内部服务器错误页面


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

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

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