我想從表中選擇記錄與密鑰。我的代碼正在工作,但它沒有選擇所有關於PHP和Mysql的記錄它只選擇PHP,Mysql記錄。 我的代碼是我想選擇記錄多個密鑰,像
$skill=PHP,Mysql;
mysql_query("select * from tablename(skill) where fieldname(key) like '%$skill%'");
我想從表中選擇記錄與密鑰。我的代碼正在工作,但它沒有選擇所有關於PHP和Mysql的記錄它只選擇PHP,Mysql記錄。 我的代碼是我想選擇記錄多個密鑰,像
$skill=PHP,Mysql;
mysql_query("select * from tablename(skill) where fieldname(key) like '%$skill%'");
$skill="PHP,Mysql";
mysql_query("select * from skill where key like '%$skill%'");
儘可能嘗試有逗號分隔像操作$技巧變量的值將無法正常工作,要做到這一點
mysql_query("select * from skill where (key like '%PHP%' OR key like '%Mysql%')");
,請嘗試使用下面的查詢
select * from skill where FIND_IN_SET(keyn,'$skill')
Demo sql小提琴在http://sqlfiddle.com/#!2/181c74/5
我假設你想搜索包含「PHP」,「MySQL」或兩者的記錄。你在做的是搜索「PHP,MySQL」的確切字符串。
一個快速和骯髒的解決方案是將$技能轉換爲逗號分割的數組,然後使用OR關鍵字執行搜索每個術語。
例如:
$skill = array("PHP", "MySQL");
$query = "select * from tablename(skill) where ";
foreach ($skil in $skill)
$query . "fieldname(key) like '%$skil%' OR ";
//code to remove the OR at the very end
你試過將它們與AND關鍵字結合? –
你想用「php」,「mysql」,php和mysql結合的記錄 –
首先將你的變量用單引號或雙引號括起來,例如$ skill =「PHP,Mysql」;然後嘗試它 –