2011-12-15 76 views
2

我不知道我的代碼中存在什麼問題。

我需要$sql來運行第一個拿到$p_id,但在第二位運行$sql,所以我不能讓$p_id = (int) $_GET['post_id'];

你能告訴我爲什麼嗎?

<?php 
error_reporting(E_ALL); 
ini_set('display_errors',1); 
include "db/db.php";  
$upload_path = "secure/content/blogpostimg"; 
if (isset($_GET['post_id']) && $_GET['post_id'] != '') { 
$p_id = (int) $_GET['post_id']; 
$sql= mysql_query("SELECT * FROM blog_post WHERE post_id = '$p_id'"); 
} else { 
$sql= mysql_query("SELECT * FROM blog_post ORDER BY post_id DESC"); 
} 
while ($rel = mysql_fetch_assoc($sql)) 
{ 
$id = $rel['post_id']; 
$sub = $rel['subject']; 
$imgname = $rel['img_name']; 
$img = $rel ['image']; 
$msg = $rel['message']; 
$date = $rel['date']; 
$poster = $rel['poster']; 
$cat_name = $rel['cat_name']; 

echo "<h1>". "$sub" ."</h1>". "<br/>"; 
echo '<img src="' . $upload_path . '/' . $imgname . '" width="200" /> '; 
include_once("func.php"); 
echo substr($msg, 0, 200)."..." . "<a href=index.php?post_id= '$p_id' 
target='_blank'>Read more</a>"; 
?> 
+0

那麼,你的URL /`$ _GET`看起來像什麼? – deceze 2011-12-15 07:26:27

+0

你可以顯示一些你正在打電話的網址嗎?也許你可以使用if((isset($ _ GET ['post_id']))&&(!empty($ _ GET ['post_id'])))`。我最喜歡的方式來查找一個var set而不是空的。 – 2011-12-15 07:29:17

回答

2

如果您有興趣可以閱讀這篇文章。它很簡單明瞭,只是理解isset和empty之間的區別的最佳選擇:http://kunststube.net/isset/