2012-09-06 100 views
1

繼承人情況,一個變量,$ username被設置爲「scott」之類的東西。然後這些行發生:PHP/MYSQL返回不正確的結果 - MYSQL WHERE子句

$query = mysql_query("SELECT * FROM users WHERE username='$username'") or  die(mysql_error()); 
print_r(mysql_fetch_array($query)); 

這打印我們以下,這是在當時的表中。

([0] => 1 [userid] => 1 [1] => 0 [username] => 0 [2] => 0 [password] => 0 [3] => 0 [email] => 0 [4] => 1346924695 [time] => 1346924695) 

我該如何解決這個問題?謝謝

+1

表結構請!也可以嘗試打印出單獨的元素併發布結果。 $ row = mysql_fetch_array($ query); echo $ row ['username']; –

+0

不要忘記逃避那個$用戶名 – DickieBoy

回答

0

請檢查全部的數據類型。猜猜一切都在int

你可以在MySQL控制檯做得一樣:

desc `tablename`; 

您可能需要重新起來的所有行!

0

查詢以數組形式返回表,並且您正在打印此數組。返回的值是正確的。 嘗試打印數組元素。

$result_array = mysql_fetch_array($query) 
print_r($result_array[0]["username"]) 

它會在表格的第0行打印用戶名。 plz檢查語法