2013-07-31 77 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

相关问题