2010-11-03 182 views
1

任何想法,爲什麼這wouldnt工作!?mysql php where子句不起作用

只是沒有顯示..

$result1 = mysql_query("select * from `suppliers` where supp_short_code='WED'") or die(mysql_error()); 
       while($row1 = mysql_fetch_array($result1)) 
        {  
         echo "<p>" . $row1['supp_name'] . "</p>"; 
        } 
+2

請問您可以發佈mysql_error()的輸出,以便我們可以看到正在引發的錯誤。 – 2010-11-03 11:07:27

+0

我們需要更多信息,請告訴我們您的連接,以及您的數據庫結構樣本以及可以驗證所需數據的幾行。 – RobertPitt 2010-11-03 11:21:18

+0

現在它的工作 – benhowdle89 2010-11-03 11:29:15

回答

2

已解決!事實證明,當我從Excel導入到我的MySQL中,在「supp_short_code」之前和之後帶入空格,所以查詢不起作用!

+1

你可以使用MySQL的'TRIM()'函數,例如'INSERT INTO myTabe(number,string)VALUES(12,TRIM(「something」))' - 它將在第一個/最後的字符。 – cypher 2010-11-03 12:03:05

1

是 'supp_name' 你的 '供應商' 表中的列?

此查詢返回任何結果在phpmyadmin例如?

是否顯示<p>標記(沒有規則爲display:none;)?

+0

古怪這項工作SELECT * FROM供應商WHERE supp_short_code LIKE'%WED%'但不是「= WED」我可以看到supp_short_code肯定是WED,除非它的計數空間因爲在「WED」之後可能有空格db!? – benhowdle89 2010-11-03 11:08:56

+3

@ user478144:表示確切的字符串'WED'未存儲在您的表中。你可能有一些空間字符。用TRIM(supp_short_code)='WED'試試這個查詢,看看會發生什麼。 – dnagirl 2010-11-03 11:12:30

0

你的連接在哪裏?如果沒有,則mysql_query()嘗試通過調用mysql_connect()來創建一個不帶參數的參數。如果你的連接沒有你想要讀取的表的權限,它也會失敗。如果它沒有死,但只返回沒有結果,然後檢查mysql_num_rows()

0

此行的正確語言:: $ result1 = mysql_query(「select * from supplier where supp_short_code ='WED'」)或die(mysql_error());