2013-07-31 91 views
-1

我想從我的數據庫中檢索用戶的信息。 到目前爲止,我的代碼如下所示:如何從MYSQL中選擇一行?

<?php 
$database="myweekdatabase"; 
$con = mysql_connect("localhost","root" ,"");//for wamp 3rd feild is balnk 
if (!$con) 
{ 
die('Could not connect: ' . mysql_error()); 
} 
mysql_select_db("$database", $con); 

$User = $_SESSION['Email']; //Uses the email for the current user logged in 
$query = "SELECT * FROM myweekprofiles WHERE Email = '$User' "; 
$result = mysql_query($query);  
?> 

這裏是我的HTML代碼:

<h3>Edit Your Profile</h3> 
<?php echo "<h3>" .$result; "</h3>" ?> 

這是我到目前爲止輸出:

Resource id #5 

爲什麼會出現這種作爲輸出?

+0

你得到'資源ID#5'作爲輸出,因爲'mysql_query'返回'resource'(http://www.php.net/manual/en/language.types.resource.php)在成功。請參考這裏的文檔:http://php.net/manual/en/function.mysql-query.php – vee

+0

只是一個注意事項:雖然消毒輸入修復大多數問題(你沒有這樣做),但你真的不應該首先使用mysql_ *函數。像PDO或Mysqli之類的東西可以更好地工作,因爲準備好的語句更加安全。 – lemondrop

回答

1

使用foreach並使用mysql_fetch_array()獲取您的數據。

<?php 
$database="myweekdatabase"; 
$con = mysql_connect("localhost","root" ,"");//for wamp 3rd feild is balnk 
if (!$con) 
{ 
die('Could not connect: ' . mysql_error()); 
} 
mysql_select_db("$database", $con); 

$User = $_SESSION['Email']; //Uses the email for the current user logged in 
$query = "SELECT * FROM myweekprofiles WHERE Email = '$User' "; 
$result = mysql_query($query); 
$data = mysql_fetch_array($result); 

foreach($result as $data){ 
echo "<h3>Edit Your Profile</h3>"; 
echo "<h3>" . $data['anyColumnYouWantFromThemyweekprofiles'] . "</h3>"; 
} 
?> 
1

首先,您不應該使用已棄用的mysql_函數。其次,我想你應該閱讀一些關於php/mysql的教程來學習如何管理數據庫。

如果你不知道如何做到這一點,那麼你將很難在代碼中更進一步。 有很多關於這個的教程。嘗試找到一個關於PDO或mysqli(這比mysql_函數好得多)

關於您的代碼,您需要獲取查詢。 (mysql_fetch_rowmysql_fetch_arraymysql_fetch_assoc)。然後問一個專欄。 要查看結果,並瞭解它,這樣做:

$array = mysql_fetch_array($result); 
var_dump($array); 
2

當你運行像上面你成功或假的資源返回的查詢。您現在需要使用其他方法從您收到的資源中獲取數據。

例如,在搜索結果中循環,可以使用類似這樣

while ($row = mysql_fetch_array($result, MYSQL_NUM)) { 
    echo $row[0]; 
    echo $row[1]; //etc... 
} 

,或者如果你想使用關聯數組

while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) { 
    echo $row['field_name']; 
    echo $row['other_field_name']; //etc.. 
} 

這裏的所有方法的鏈接http://php.net/manual/en/book.mysql.php

相關問題