使用 PHP MySQL 创建动态页面时出现空白页


Blank page when creating dynamic page with PHP MySQL

我正在尝试使用PHP和Mysql显示动态页面。这只是一个简单的博客,其中包含博客主页和指向博客文章的链接。点击帖子时,我得到一个空白页。我认为问题可能是我的查询。

这是我在用户单击博客文章链接以了解更多信息时使用的代码:

我可以看到正确的 ID 进入 URL 很好,但没有显示任何内容。有什么想法吗?

$db = new mysqli('localhost', 'root', 'root', 'app');
if($db->connect_errno > 0){
    die('Unable to connect to database [' . $db->connect_error . ']');
}
$sql = <<<SQL
    SELECT *
    FROM `news`
    WHERE `id` = '".mysql_real_escape_string($_GET['id'])."')
SQL;
if(!$result = $db->query($sql)){
    die('There was an error running the query [' . $db->error . ']');
}
while($row = $result->fetch_assoc()){
    echo '<h2>' . $row['title'] . '</h2>' . ' ' . $row['description'] . '<br /><br />';
}

echo 'Total results: ' . $result->num_rows;
// Free result set
mysqli_free_result($result);
mysqli_close($db);
?>

以防万一你需要看到,这里是博客的主页:

<?php
$db = new mysqli('localhost', 'root', 'root', 'app');
if($db->connect_errno > 0){
    die('Unable to connect to database [' . $db->connect_error . ']');
}
$sql = <<<SQL
    SELECT *
    FROM `news`
SQL;
if(!$result = $db->query($sql)){
    die('There was an error running the query [' . $db->error . ']');
}
while($row = $result->fetch_assoc()){
    echo '<h2>' . $row['title'] . '</h2>' . ' ' . $row['description'] . '<br /><br />';
    echo '<a href="/blogger/showblog.php?id='.$row['id'].'">'.$row['title'].'</a><br /><br />';
}

echo 'Total results: ' . $result->num_rows;
// Free result set
mysqli_free_result($result);
mysqli_close($db);
?>

使用 EOF 时出现语法错误,因为无法中断并连接引号或双引号。

$sql = <<<SQL
    SELECT *
    FROM `news`
    WHERE `id` = '".mysql_real_escape_string($_GET['id'])."')
SQL;

你应该做:

$id=mysql_real_escape_string($_GET['id']);
$sql = <<<SQL
    SELECT *
    FROM `news`
    WHERE `id` = $id)
SQL;

至于空白页,我认为您应该会收到一个错误,因此请确保您有display_errors并相应地设置error_reporting以便您在页面上看到错误。

我认为这样的事情应该有效:

ini_set("display_errors", 1);
error_reporting(E_ALL);