2014-03-25 6 views
1

이 코드의 문제점은 무엇입니까? website 데이터베이스의 을 members 테이블에서 가져올 수없는 이유는 무엇입니까? 내가 나중에 사용할 수 있도록하는 기능을 만들려고 노력하고SQL 쿼리에 어떤 문제가 있습니까? (PHP)

enter image description here

: 여기에 데이터베이스 정보의 스크린 샷이다. 여기에 코드입니다 :

<?php 
function get_username($username){ 
    $host = 'localhost'; 
    $username = 'root'; 
    $password = ''; 
    $database = 'website'; 
    $con = mysqli_connect($host, $username, $password, $database); 

    $query = "SELECT * FROM members WHERE username = '{$username}'"; 

    $result = mysqli_query($con, $query); 

    $row = mysqli_fetch_array($result); 

    return $row['name']; 

    mysqli_close($con); 
} 

echo get_username('iamfaizahmed'); 
?> 
+0

아마도 '이름'이라는 열이 없습니까? 아니면'$ username'이 존재하지 않습니까? 아니면 데이터베이스에 잘못된 암호가있을 수 있습니까? 아니면 다른 것. 당신은 계속할 많은 정보를 제공하지 않습니다. –

+0

@ GordonLinoff 그 모든 정보는 이미 게시물에 추가되었습니다. –

+1

@Beat 말해봐 ...? – deceze

답변

6

사용자 이름은

$username = 'root'; // here 

그래서 상관없이 함수 인수에 전달할 것을 항상 그래서 다른 변수 이름

+3

일반적으로 가장 어려운 문제는 다음과 같은 어리석은 실수로 인한 문제입니다. ') 질문을 닫을 수 있도록 답변을 수락하는 것을 잊지 마십시오. –

3

당신이 함수의 $username과 연결 변수의 $username

변화 사이에 믹싱이

function get_username($username){ 

function get_username($user){ 

및 쿼리를 수행 그처럼

$query = "SELECT * FROM members WHERE username = '$user'"; 
0
을 사용
where username = 'root' 

를 사용하지 않습니다 기능에 덮어 쓰기

우선, 귀하의 $username 변수입니다.
당신은 함수를 통해 그것을 전달하고 또한 db 연결을 위해 그것을 사용하고 있습니다.

$dbusername

둘째, 쿼리로 기능에 dbusername을 변경

. 당신의 어딘가를 가야 Click Here

: 당신이 기본으로 완료되면

$query = "SELECT * FROM members WHERE username = '$username'"; 

지금, 나는 당신이이 링크를 방문하는 것이 좋습니다 :로 유지!

관련 문제