2012-07-05 2 views
0

로그인 한 사용자 정보 만 호출하려고합니다. 지금까지 아무 것도 나오지 않습니다. 내가 뭘 잘못하고 있는지 확실하지 않습니다.사용자의 데이터베이스에서 정보 호출

<?php 
session_start(); 
// Connects to your Database 
mysql_connect("localhost", "megan", "megan") or die(mysql_error()); 
mysql_select_db("megan") or die(mysql_error()); 

$id = $_SESSION['id_user']; //Get user's ID 
Print $id; //Test 
$result = mysql_query("SELECT * FROM user WHERE id_user='" . $id . "'") 
or die(mysql_error()); 
$row = mysql_fetch_assoc($result); 

echo "Your user name is: <br>"; 
echo $row['username']; 

?>

내가 사용자의 선택 *에 넣으면 sugestions와 코드를하지만 여전히 나던 일이

전체 데이터베이스가 나오면 업데이트가 아닌 사용자가

+2

mysql_ * 문을 사용하지 마십시오. PDO 또는 mysqli 문 사용을 선호하십시오. –

+0

@ user1491556 Print $ id는 무엇을 반환합니까? –

+1

session_start(); PHP 코드의 첫 번째 줄이어야합니다. 인쇄물을 사용하지 말고 대신 에코를 사용하십시오. – elvenbyte

답변

1

에 기록된다 이 줄을보십시오. 쿼리 문자열이 정확하지 않고 사용자 ID 값을 사용하여 쿼리하지 않고 대신 '$ id'문자열을 사용한다고 생각합니다.

$result = mysql_query("SELECT * FROM user WHERE id_user='{$id}'"); 
+0

아직 아무것도 표시되지 않습니다. 빈 화면 – user1491556

0
나는 이런 식으로했을

:

$result = mysql_query("SELECT * FROM user WHERE id_user=" . $id); 

그리고 $ ID가 숫자가 아니라 경우 문자열은 ...

물론
$result = mysql_query("SELECT * FROM user WHERE id_user='" . $id . "'"); 

, 당신도 할 수 있습니다 또는 die (mysql_error())를 호출한다.

+0

둘 이상의 아이디어가 없습니다. – user1491556

+0

session_start()의 위치를 ​​파일의 시작으로 변경 했습니까? – elvenbyte

+0

그래, 내가 차이를 만들지 않았다 – user1491556

0

이 확장의 사용은 권장하지 않습니다. 대신 MySQLi 또는 PDO_MySQL 확장을 사용해야합니다.

$sql = "SELECT `username` FROM user WHERE id_user = '$id' "; 

$result = mysql_query($sql); 

list($username) = mysql_fetch_row($result); 

var_dump($username); // for test 
+0

내가 넣었지 만 반환되는 값은 모두 NULL이다. – user1491556

+0

id로 phpmyadmin 쿼리에서 sql 코드를 시도하고 결과를 확인한다. – Alireza41

+0

위의 SELECT를 복사하여 반환했다 : MySQL은 빈 결과 집합을 반환했다.). 작동 안함. 하지만 내가 7과 같은 특정 번호를 입력하면 – user1491556

관련 문제