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

Вы получаете 'Resource 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_row или mysql_fetch_array или mysql_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

Смежные вопросы