PHP包括不启动


PHP include not launching

Hi我有一个简单的数据库连接测试php文件(index.php),它应该用include语句调用另一个页面(output.html.php),但它似乎不起作用。请帮忙。下面是这两个文件的代码。非常感谢。

index.php:

<?php
try
{
        $pdo =  new PDO('mysql:host=localhost;dbname=ijdb', 'ijdbuser', 'mypassword');
        $pdo->setAttribute(PDO::ALTER_ERRMODE, PDO::ERRMODE_EXCEPTION);
        $PDO->exec('SET NAMES "utf8");
}
catch (PDOException $e)
{
        $output = 'Unable to connect to the database server.';
        include = 'output.html.php';
        exit();
}
$output = 'Database connection established.';
include 'output.html.php';
?>

output.html.php:

<!DOCTYPE html>
<html lang="en-us">
        <meta charset="UTF-8" >
        <title>DB Example</title>
        <head>
        </head>
        <body>
                <p>
                <?php echo $output; ?>
                </p>
        </body
</html>

我只看到一页空白。

include 'output.html.php'; 

不是

include = 'output.html.php';

移除=

    index.php:
    <?php
    try
    {
            $pdo =  new PDO('mysql:host=localhost;dbname=ijdb', 'ijdbuser', 'mypassword');
            $pdo->setAttribute(PDO::ALTER_ERRMODE, PDO::ERRMODE_EXCEPTION);
            $dbh->exec("SET CHARACTER SET utf8");//$PDO->exec('SET NAMES "utf8");
            header("location:output.html.php?msg=Database%20connection%20established");
    }
    catch (PDOException $e)
    {
                            header("location:output.html.php?msg=Unable%20to%20connect%20to%20the%20database%20server");
    }
?>

我所理解的是,如果你包含文件,它会重定向到空白的页面,因此不会显示任何消息($output)。如果你应用重定向方法,你会移动到失败和成功时所需的消息显示。

output.html.php:-

<!DOCTYPE html>
<html lang="en-us">
        <meta charset="UTF-8" >
        <title>DB Example</title>
        <head>
        </head>
        <body>
                <p>
                <?php if(isset($_GET['msg'])){echo $_GET['msg'];} ?>
                </p>
        </body
</html>

可能你在问题中错报了字符串的末尾,并且已经解决了它。无论如何,这里有一个小错误:index.php,首先尝试{}块:

...
$PDO->exec('SET NAMES "utf8");
... 

应该是:

$PDO->exec('SET NAMES "utf8"');

希望它能帮助你。正如你在答案和评论中看到的,在PHP开发环境中启用错误是解决这种"死亡的白屏幕"错误的最佳方法。以下是关于最后一个主题的参考资料:http://www.php.net/manual/en/errorfunc.configuration.php#89648