我在mysql數據庫與值的列(attr)
這樣的:PHP:使用字符串搜索mysql數據庫?
1- apples, red, big, UK,
2- Green, apples, big, UK,
ETC ETC
它基本上一串字,他們可以在任何順序,你可以在上面看到。
我想使用任何給定的字符串在該列內搜索。該字符串可以是這樣的:
UK, apples, Red, big,
apples, UK, big, green,
etc etc
什麼,我需要做的是尋找到該列,並且只有字符串中所給的詞匹配柱內完全一樣的話顯示結果。
我已經使用這個代碼的嘗試:
$sql="SELECT * FROM `product_details` WHERE '$list' LIKE CONCAT('%', attr ,'%')";
其中$list
是給定的字符串。 like: UK, apples, Red, big,
正如您所看到的那樣,這些單詞存在於數據庫中,但它們的順序不同,這就是爲什麼PHP不顯示任何結果!
請問有人能就這個問題提出建議嗎?
這是非常糟糕的數據庫設計,你是隻是遇到你將遇到的問題的一角。爲屬性創建單獨的表,將每個屬性添加爲單獨的條目。 –
@GeraldSchneider哈哈,這正是我如何開始的,現在兩天後我最終這樣做了......這是我能做到這一點的唯一方法,因爲還有很多其他因素正在實施這個問題的範圍和STO。 –