2013-06-04 89 views
-2

我的問題是,我需要根據以前的MYSQL SELECT從MYSQL表中選擇字段。在我通過if和else聲明完成之前,它只能是兩件事之一,但現在我添加了三分之一,所以這不再起作用。這是我想要的效果:如何做一個MYSQL依賴於以前的MYSQL選擇

$call = "SELECT * FROM blog_posts WHERE id = $_GET[id] LIMIT 1"; 

$latest = mysql_query($call); 

$result = mysql_fetch_array($latest); 

$post_cat = $result['category'];  

$sql="SELECT title, post_thumb, id FROM blog_posts WHERE category = $post_cat AND id <> $_GET[id] ORDER BY id DESC LIMIT 6"; 

在此先感謝。

+0

如果回顯'$ sql',你會看到什麼? – showdev

+0

我不確定你的問題是什麼。你是什​​麼意思的$ _GET工程,但$ post_cat不?該SQL語句是否正常工作,但您想修改它?還是修改後的版本,這不起作用? – andrewsi

+0

嘗試把類別='{$ post_cat}'.... – Yeak

回答

0
$sql="SELECT `title`, `post_thumb`, `id` FROM `blog_posts` WHERE category = '".$post_cat."' AND `id` = '".$_GET[id]."' ORDER BY `id` DESC LIMIT 6"; 

將表/列放入反引號中並將PHP變量包圍在連接的引號中。目前,您的查詢要求MySQL在類別列中找到值爲$post_cat的值。不是PHP變量$post_cat,顯式字符串$_post_cat

+0

在問題中提到它,但值得指出的是這很容易受到SQL注入的影響。 – halfer