[請益] SQL語法查詢的問題

看板PHP作者 (vivi)時間13年前 (2012/09/28 15:52), 編輯推噓0(006)
留言6則, 4人參與, 最新討論串1/1
我現在需要做一個查詢系統 就是利用客戶編號或名字或地區做條件查詢 但是我現在遇到一個問題就是 不知為什麼查詢出來都是空的...只有客戶編號能查詢 之前我分成3個的時候是可以查詢的 但合在一起就失敗了... 下面3個輸入值都放在同一個表單內 這樣值應該會送出吧? $a=$_POST["select_city"]; //接受select的值 1,2,3 $b=$_POST["cust_no"]; //接受客戶編號 int $c=$_POST["cust_na"]; //接受客戶名稱 中文字串 $link=ibase_pconnect( "localhost:D:/ANTHILL.GDB", "SYSDBA", "masterkey" ) or die("Error : Cannot connect to Firebird Server.\r\n"); if($a==1) { $query="SELECT * FROM CUSTOMER WHERE OCALL LIKE '%台南公司%' AND CUST_NO='$b' AND CUST_NA LIKE '%$c%'"; } if($a==2) { $query="SELECT * FROM CUSTOMER WHERE OCALL LIKE '%高雄公司%' AND CUST_NO='$b' AND CUST_NA LIKE '%$c%'"; } if($a==3) { $query="SELECT * FROM CUSTOMER WHERE OCALL LIKE '%嘉義所%' AND CUST_NO='$b' AND CUST_NA LIKE '%$c%'"; } else { $query="SELECT * FROM CUSTOMER WHERE CUST_NO='$b' AND CUST_NA LIKE '%$c%'"; } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 211.20.201.205

09/28 16:00, , 1F
三個 if ?
09/28 16:00, 1F
vivi50218:是用來判斷 select的值 請問 若是只有其中一個有值 其他兩個都空的 這樣還查的出來嗎? 09/28 16:01 ※ 編輯: vivi50218 來自: 211.20.201.205 (09/28 16:03)

09/28 16:17, , 2F
怎麼可能啊
09/28 16:17, 2F

09/28 16:30, , 3F
OK 我知道問題在哪了 要先判斷是不是空的 .
09/28 16:30, 3F

09/28 16:53, , 4F
CUST_NO=''會選不到東東 CUST_NA LIKE '%%'則是選到全部
09/28 16:53, 4F

09/28 16:54, , 5F
SQL這樣運氣好不會錯 有時空值造成SQL錯誤可以debug半天
09/28 16:54, 5F

09/29 01:00, , 6F
用 OR 不就好了!?@@ (還是其實沒那麼簡單??
09/29 01:00, 6F
已解決了 要先判斷有無輸入值 有才加入sql語法 ※ 編輯: vivi50218 來自: 220.133.249.172 (09/30 13:39)
文章代碼(AID): #1GPLSYIS (PHP)
文章代碼(AID): #1GPLSYIS (PHP)