我正在尝试使用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);
?>
答案 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);