2014-07-03 98 views
0

在我的數據庫中,我一直在獲取由自己的ID顯示的單個記錄。在URL中是這樣的:site.com/index.php?id=1。但是,如果我使用不存在的ID編寫地址(如site.com/index.php?id=3553255它會將我發送到我用作「模板」的頁面,但沒有數據(空白頁面)。PHP&MySQL空記錄

如果記錄爲空或不存在,我該如何發送標題狀態404?

這是我的代碼:

<?php 

if(isset($_GET['id'])) { 

$id = mysql_escape_string($_GET['d']); 

include 'mysql_conexion.php'; 

$sql=" SELECT * FROM portfolio WHERE id='$id'"; 
$data=mysql_query($sql,$conexion); 

while ($row=mysql_fetch_array($data)) { 
     $id=$row['id']; 
     $heading=$row['heading']; 
} 

echo "<div><h1>$heading</h1></div>"; 

} 

mysql_free_result($data); 
mysql_close($conexion); 

?> 

注:我與別的和頭函數試圖 「否則{頭( 'HTTP/1.0 404未找到',真實,404);}出口;」和標題:位置, 但沒有工作。

感謝您的關注。

+0

你應該在調用'header()'之前打印任何東西,這就是爲什麼它不起作用。 – arielnmz

回答

0

嘗試輸入一個簡單的if語句,它看起來是這樣的:

$numberofRows = count($cars); 

if ($numberofRows == 0){ 

echo '<meta http-equiv="refresh" content="0; url=http://example.com/" />'; 

} 

else{ 
while ($row=mysql_fetch_array($data)) { 
     $id=$row['id']; 
     $heading=$row['heading']; 
} 

echo "<div><h1>$heading</h1></div>"; 

} 

mysql_free_result($data); 
mysql_close($conexion); 
} 
?> 

這將使用您的查詢,看看行多少相匹配。如果這個數字是0,它會將用戶重定向到你的404頁面。

希望這會有所幫助。

+0

錯誤讀取使用提供的相同代碼,只需在您的html

之前執行此過程。在if裏面回顯你想要的標題。 – OfficialDtech