2013-05-18 85 views
0

對所有的第一個好的事情,我知道這個網站是不是微小的問題,但我不明白爲什麼數據不會來,我早些時候使用相同的代碼獲取數據,但它不工作..任何想法,超出編碼的任何建議將被認爲是優選的。 讓我們看看我的代碼..數據不是從MySQL中提取

$emel=$_SESSION['emailid']; 

echo $select="SELECT * FROM red where email = '$emel'"; 
$query = mysql_query($select); 
$ustous = mysql_fetch_row(query); 
echo $ustous['name'] ; 

我贊同選擇查詢和多數民衆贊成罰款顯示結果爲:

SELECT * FROM red where email = '[email protected]' 

的姓名,地址等不顯示和瀏覽器沒有顯示任何錯誤。 ..幫助! ! Thanx提前

+1

不要使用mysql_ *函數 - 它們已被棄用。 – user4035

+2

mysql_fetch_row(query);沒有美元符號,應該是mysql_fetch_row($ query); –

+0

,但是爲其他罰款工作。 – Tracy

回答

0
$emel=$_SESSION['emailid']; 

$select="SELECT * FROM red where email = '$emel'"; 
$query = mysql_query($select); 

$ustous = mysql_fetch_row($query); 
    $yourVar1 = $ustous[0]; 
    $yourVar2 = $ustous[1]; 
    $yourVar3 = $ustous[2]; 
+0

沒有......它錯誤地寫在這裏在實際的代碼,它是好的...並沒有工作...... :( – Tracy

0

糾正你的$查詢VAR fistly爲:

$ustous = mysql_fetch_row($query); 

使用mysql_fetch_assoc代替mysql_fetch_row或打印爲$ustous[0]

FETCH_ASSOC只返回一個關聯數組,你可以作爲$ustous['name']使用

$emel=$_SESSION['emailid']; 

echo $select="SELECT * FROM red where email = '$emel'"; 
$query = mysql_query($select); 
$ustous = mysql_fetch_assoc($query); 
echo $ustous['name']; 
var_dump($ustous); 
+0

好的先生,,,但我的問題仍然是相同的...... – Tracy

+0

你確定你有一行email='[email protected]'並有一個'姓名'欄? –

+0

是的......它有.. ... – Tracy

0

使用此。

$emel=$_SESSION['emailid']; 

echo $select="SELECT * FROM red where email = '$emel'"; 
$query = mysql_query($select); 
$ustous = mysql_fetch_array($query); 
echo $ustous['name']; 
2

您應該使用mysql_fetch_assoc()(見:http://php.net/manual/en/function.mysql-fetch-assoc.php)如果你想檢索使用數組中的字段名的值。

這將是你的問題的固定代碼:自PHP 5.5.0

$emel=$_SESSION['emailid']; 

$select="SELECT * FROM red where email = '$emel'"; 
$query = mysql_query($select); 
$ustous = mysql_fetch_assoc($query); 
echo $ustous['name'] ; 

順便說一句,mysql_ *功能已被棄用。您可能想要使用mysqli或PDO。

0

原因您:

mysql_fetch_row(query); 

沒有工作,是因爲它返回的結果作爲枚舉數組。也就是說,它看起來像:

Array ([0] => 1 [1] => Name [2] => Email) 

如果你print_r

你正試圖在代碼中調用關聯數組的'名稱'。所以,你想是這樣的:

Array ([id] => 1 [Name] => Joe [email] => [email protected]) 

所以,你想爲使用mysql_fetch_assoc()mysql_fetch_array()並通過MYSQL_ASSOCmysql_fetch_array()你的第二個參數。

以下是有用的,如果你只是想抓住用戶的名稱:

$emel=$_SESSION['emailid']; 

$select="SELECT * FROM red WHERE email = '$emel'"; 
$query = mysql_query($select); 
$ustous = mysql_fetch_assoc($query); 
echo $ustous['name'] ; 

在情況下,你想別人搶東西,說用戶登錄記錄,您可能還需要考慮在數據庫中存在多個數據實例的情況下通過循環運行它。

喜歡的東西:

$emel=$_SESSION['emailid']; 

$select="SELECT * FROM logins WHERE email = '$emel'"; 
$query = mysql_query($select); 

echo "Login History <br>"; 
while ($row = mysql_fetch_assoc($query)) { 
    echo $row['loginDate']; 
} 

這只是一個粗略的例子。

我一定會推薦你看看PDO。 NetTuts +的Jeffery Way提供a great tutorial關於如何使用PDO連接和從數據庫中提取數據。

0
$ustous = mysql_fetch_row($query);