Re: [請益] 請問php+mysql中進階查詢的語法如何下?
※ 引述《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
討論串 (同標題文章)
PHP 近期熱門文章
PTT數位生活區 即時熱門文章