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

看板PHP作者 (中仔)時間17年前 (2008/08/15 01:32), 編輯推噓0(003)
留言3則, 2人參與, 最新討論串4/8 (看更多)
感謝大大~剛剛試了一下果真可以~部過有點小問題~程式如下 //判斷查詢欄位 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' 我想是這個地方有問題~由於WHERE 後面我不知道怎麼接變數 只有接上'$add_sql'才不會出現錯誤,把單引號去掉就不能了.. $query_search ="SELECT * FROM channel_marketing WHERE '$add_sql'"; 請教一下~這個問題可以怎麼改善呢? 謝謝您! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.132.218.94

08/15 02:35, , 1F
以後再直接把 $_POST、$_GET 這些放到 sql 裡面用,
08/15 02:35, 1F

08/15 02:35, , 2F
就浸個水桶一天好了..這樣以後就不會忘記了.
08/15 02:35, 2F

08/15 07:33, , 3F
字串加個單引號吧,"or (c_name='".$_POST."')";
08/15 07:33, 3F
文章代碼(AID): #18f6n3cE (PHP)
討論串 (同標題文章)
文章代碼(AID): #18f6n3cE (PHP)