<?php
//error_reporting(E_ALL); ini_set('display_errors', '1');
$connection = mysql_connect("localhost", "root", "toor");
if (!$connection){
die("Database Connection Failed" . mysql_error());
}
$select_db = mysql_select_db('test');
if (!$select_db){
die("Database Selection Failed" . mysql_error());
}
session_start();
if(!isset($_SESSION['username'])){
header("Location: main.php");
}
echo "<a href='logout.php'>Logout</a>";
/*if (isset($_GET['id']){
$id = $_GET['id'];
$query = "SELECT title FROM news WHERE id=$id";
$title = mysql_query($query) or die(mysql_error());
$query = "SELECT body FROM news WHERE id=$id";
$body = mysql_query($query) or die(mysql_error());
echo "$title\n\n\n";
echo "$body\n\n";
}*/
?>
<html>
<body>
<p>
Login OK
</body>
</html>
我需要显示字段标题和正文的内容,但是我得到一个空白页面(甚至没有显示logout.php的链接)。 error_reporting(E_ALL); ini_set('display_errors', '1');
报告没有错误。
如果我评论if块,则指向logout.php的链接和消息&#34; Login OK&#34;显示。
可能会失败的是什么?
在login.php中,我用:
调用news.phpif (isset($_SESSION['username'])){
header("Location: news.php?id=1");
}
修改
我注意到对news.php的调用?id = 1会返回错误500.
答案 0 :(得分:1)
您使用的方式错误
$query = "SELECT title, body FROM news WHERE id=$id";
$results = mysql_query($query);
while ($news = mysql_fetch_assoc($results)) {
echo $news["title"];
echo $news["body"];
}
指令mysql_query将为您提供结果集。 然后从结果集中获取单行 使用mysql_fetch_assoc(或fetch_row或fetch_array,请参阅差异手册) 然后用单个结果拉动显示数据。
在你的代码中我看不到任何数据库连接逻辑,没有传递给mysql_query函数的连接参数。
错误500意味着php正在做一些错误的错误并且无法执行,无论如何我会去检查日志,错误写在那里并且会让你头疼。 / var / log / httpd / error_log一般在linux上。