2014-03-01 31 views
0

這樣的IM開發一個web頁面下面的SQL查詢行:只選擇某些條件而定,然後輸出數據

$sql=mysql_query("SELECT * FROM `fotf_images` WHERE `image_fotfnum` = '$Fivedigits'"); 

現在,$ fivedigits是$ _ POST從以前的表格輸入數據。所以基本上這個表格解析了在特定列中只包含$ Fivedigits的行的mysql數據庫。我想要做的是輸出每行都有這些標準。到目前爲止,我用下面的:

while ($row = mysql_fetch_array($sql, MYSQL_ASSOC)) { 
print_r($row); 
} 

這似乎只輸出第一行,當我知道作爲一個事實存在包含標準正好2行。請幫忙!謝謝!

+0

只要你的數據正確,你的代碼應該工作。如果你喜歡,你可以使用'mysql_fetch_assoc($ sql)'代替。您確定列'image_fotfnum'在兩行中都匹配*完全一致* $五位數嗎? –

+0

你的意思是你想獲得所有其image_fotfnum包含$ fivedigits內容的行嗎?如果是這樣,只需使用'\'image_fotfnum \'LIKE'%$ fivedigits%'' – Shocked

+0

代碼看起來很好,所以也許這個標準畢竟是錯誤的,或者它們不能工作。如果在'image_fotnum'中有兩行包含* exact *值,那麼您應該看到它們兩個。唯一的建議是將'$ sql'重命名爲'$ results'或其他東西。該變量包含一個查詢結果資源,而不是SQL來獲取它,所以它很混亂(但沒有錯)。 – GolezTrol

回答

0

嘗試使用

Select * from fotf_images 
where Concat(image_fotfnum, '', field2, '', fieldn) 
like concat('%','",$Fivedigits,"','%') 

因爲它不僅是數字,你可能需要在比較使用大寫或小寫。這將幫助你在fotf_images表格的每個提及的場景中搜索