2015-05-19 78 views
0

如何讓它選取所有不等於$ var的結果,這裏是我的代碼。

$opti=mysql_query("SELECT * FROM table1 WHERE imageid=$image_id"); 
    while ($vari = mysql_fetch_array($opti)) { 
     $var = $vari['tagid']; 
    $options=mysql_query("SELECT * FROM table WHERE id!=$var"); 
    while ($taghe1 = mysql_fetch_array($options)) { 
    $tagname = $taghe1['name']; 
    echo "".$tagname.", "; 
    } }  
+0

很多方法;太寬泛。 '$ var'那是什麼,一個字符串? –

+0

它是一個字符串:) –

+0

這麼認爲。你的答案在下面。時間給他們「剔」;-) –

回答

0

你可以從答案中看出你接受的是加入引號解決了你的問題。另一種方法是隻使用一個查詢。我將展示一個使用mysqli而不是已棄用的mysql的示例,但如果您必須使用它,則相同的查詢應該在mysql中工作。我添加了一些其他建議,但這些建議並不能真正解決您的問題,但讓我對自己的答案感覺更好。

// Please be sure to escape $image_id before using it like this 
$unused_tags = mysqli_query($db, "SELECT `name` FROM `table` AS t 
    LEFT JOIN (SELECT tagid FROM table1 WHERE imageid=$image_id) AS t1 
    ON t.id = t1.tagid WHERE t1.tagid IS NULL;"); 

while ($tag = mysqli_fetch_array($unused_tags)) { 
    $tags[] = htmlspecialchars($tag['name']); // escape your output 
} 
echo implode(", ", $tags); // doing it this way eliminates the trailing comma 
1

嘗試:

$options=mysql_query("SELECT * FROM table WHERE id<>{$var}"); 
+0

Thankyou,但它會選擇那些等於$ var的文件 –

+0

是不是'<>'與'!='相同? –

+0

恩,對不起^^它顯示了等於$ var的結果,然後是不是^^ –

0

您可以使用此:

​​

你可以在這裏有多個值,例如

$options=mysql_query("SELECT * FROM table WHERE id not in ('$var1', '$var2', '$var3')");