2012-03-27 4 views
0

필요하다면 PHP 코드를 게시 할 수 있지만 데이터베이스에 데이터를 사용하려하지만 어떻게 액세스 할 수 있는지 잘 모릅니다. 그것은 쉬운 회신 일지 모르지만 나는이 게임을 처음 사용합니다. ...PHP와 MySQL을 사용할 때 테이블 데이터에 액세스하십시오.

기본적으로 로그인 할 때 내 로그인 한 사용자의 로그인 정보가 표시되는 내 사이트의 로그인 시스템을 설정할 수있었습니다. 이것은 $ _SESSION 및 세션 클래스를 사용하여 수행됩니다. 사용자가 등 ($ 세션 -> logged_in)

 <h3>Welcome <? echo $session->username?> </h3> 
     </head> 

       <body> 
     <p> Welcome to the website, your details are below </p> 

     </body> 
     <?php } ?> 

에 기록되어있는 경우

나는 같은 사용자의 사용자 이름을 반환합니다.

그러나 현재 '사용자'테이블의 데이터에만 액세스 할 수 있으며 '사용자'는 외래 키를 통해 '사용자 이름'필드를 통해 '승객'테이블에 연결됩니다.

내가하고 싶은 것은 사용자 이름을 인쇄하는 대신 사용자의 성을 인쇄하는 것입니다.

그래서 본질적으로 같은 것입니다 : -. 세트 업 세션에서

로깅 및 다른 테이블에서이 이름을 조회하여 로그인 한 사용자 이름 을 인식하고는 모든 해당 테이블에서 데이터를 당길 수 데이터 베이스.

하지만 난 당신 남자와 여자가 ​​어떤 샘플 코드를 알고 있다면 ..

을 어떻게 가야하는 아무 생각이 없다, 또는 환상적 일 것 올바른 방향으로 날 지점 수 있습니다.

+1

왜 '사용자'테이블의 데이터에만 액세스 할 수 있습니까? 해당 테이블에 대해 사용중인 것과 동일한 기술을 사용하여 '승객'테이블에서 데이터를 검색 할 수 있어야합니다. – Jazz

답변

0
<? php 
mysql_connect("localhost", "username", "password"); 
mysql_select_db("databasename"); 

$query = "SELECT surname FROM passengers WHERE username = " . $session->username . ""; 
$result = mysql_query($query); 

$data = mysql_fetch_assoc($result); 

echo "Hello, your lastname is $data"; 
?> 

나는 이것이 당신이 말하는 것이라고 생각합니까?

PHP를 처음 사용하는 사람이라도 mysql 삽입을 방지하고이를 방지하는 방법 (이 현재 코드는 MySQL 삽입에 매우 취약합니다. 사용자 입력을 사용하는 경우 Carrie에게 감사드립니다. 켄들 롤 =])

시작하기 좋은 곳은 mysql_real_escape_string입니다.

편집 잘 모르겠지만 이것이 의미하는 바가 확실하지 않을 수도 있습니다. mysql (left) join

+1

이 특정 코드는 사용자 입력을 포함하지 않습니다 ..? 왜 $ _SESSION 변수를 벗어날 필요가 있을까요? 또한, SQL 주입, 아니 [RDBMS] 주입;] –

+0

하하, 네가 맞아요 .. 그래도 어쨌든 그것을 참조하는 것이 편리 할 수도 있습니다 : D – Bono

+0

게시물로 고마워요, 참고로 사용하고 있습니다. 정말 고마워요. 나는 너의 많은 제안을 시도 할 것이다. 사용자의 이름과 성 등 여러 필드에 액세스하고 싶다면 지나치는 생각. 액세스하려는 필드의 수에 대해이 쿼리를 수행합니까? 아니면 거기에 예를 들어 전체 PASSENGER 테이블을 배열에 넣을 수있는 방법 또는 거기에 무엇입니까 그리고 그냥 $ 성 등을 호출하십시오. –

관련 문제