Re: [請益] 請問php+mysql中進階查詢的語法如何下?

看板PHP作者 (小惡魔)時間17年前 (2008/08/15 01:57), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串5/8 (看更多)
※ 引述《chrismaggie (中仔)》之銘言: : 感謝大大~剛剛試了一下果真可以~部過有點小問題~程式如下 : //判斷查詢欄位 : if($_POST['s_year']!='' and $_POST['s_month']!='' and $_POST['comname']!='') : { : $add_sql = "or (year =".$_POST['s_year']." AND month =".$_POST['s_month']." : AND c_name =".$_POST['comname'].")"; : } : else if($_POST['s_month']!='') : { : $add_sql = "or (month =".$_POST['s_month'].")"; : } : else if($_POST['s_year']!='') : { : $add_sql = "or (year =".$_POST['s_year'].")"; : } : else if($_POST['comname']!='') : { : $add_sql = "or (c_name =".$_POST['comname'].")"; : } : // : $query_search ="SELECT * FROM channel_marketing WHERE '$add_sql'"; : $query_search.=$add_sql; : 我是利用三個欄位廠商名稱-年-月來進行搜尋 : 年跟月是數字都可以正確查詢.部過廠商名稱是字串卻沒辦法正確顯示結果 : 會顯示Unknown column 'chris123' in 'where clause' 這個是你的 sql 語法有錯誤才會這樣,你的欄位有錯誤 : 我想是這個地方有問題~由於WHERE 後面我不知道怎麼接變數 : 只有接上'$add_sql'才不會出現錯誤,把單引號去掉就不能了.. : $query_search ="SELECT * FROM channel_marketing WHERE '$add_sql'"; 基本上你可以這樣寫: $query_search ="SELECT * FROM channel_marketing WHERE " . $add_sql; 我習慣這樣寫 : 請教一下~這個問題可以怎麼改善呢? : 謝謝您! -- Appleboy Blog: http://blog.Wu-Boy.com Appleboy Life: http://life.wu-boy.com 迷你寫真部落格:http://mini101.twgg.org -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.123.215.42
文章代碼(AID): #18f78YmC (PHP)
討論串 (同標題文章)
文章代碼(AID): #18f78YmC (PHP)