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

时间:2015-02-03 03:29:15

标签: php mysql

我正在尝试使用PHP和Mysql显示动态页面。它只是一个简单的博客,有一个博客主页和链接到博客帖子。点击帖子时我得到一个空白页面。我认为这可能是我的问题。

这是我在用户点击博客帖子链接时使用的代码,以便阅读更多内容:

我可以看到正确的ID进入网址就好但没有显示。有什么想法吗?

$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);
?>

1 个答案:

答案 0 :(得分:1)

使用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);