2016-06-14 4 views
0

이 쿼리는 거짓 부울 값을 반환합니다. 이 코드를 사용하여 다음 로그인 폼 페이지를 사용하여 데이터베이스에서 데이터를 가져올 수 드릴 수 없습니다 : 그것은 "(false)를 부울"데이터베이스에서 데이터를 가져 오는 동안 선택 쿼리가 작동하지 않습니다.

를 인쇄

<html> 
    <body> 
    <h2>login</h2> 
    <form method='post' name='login'> 
     NAME <input type='text' name='name' value=""><br><br> 
     PASSWORD<input type='password' name='password'> <br><br> 
     <input type='submit' name='submit'><br><br> 
    </form> 

    <?php 
    $var=filter_input(INPUT_POST,'submit'); 

    function SignIn() 
    {  
     $dbhost = 'localhost'; 
     $dbuser = 'root'; 
     $dbpass = ''; 
     $conn = mysql_connect($dbhost, $dbuser, $dbpass,'db'); 

     $n=$_POST['name']; 
     $pass=$_POST['password']; 

     $sql="SELECT * FROM user WHERE name='$n' and password='$pass'"; 
     $result = mysql_query($sql); 
     var_dump($result);die; 
    } 

    if($var) 
    { 
     SignIn(); 
    } 
    ?> 
    </body> 
</html> 

Whan 수있는 문제가 되니?

+0

기본 사항을 확인해야합니다. http://www.w3schools.com/php/php_mysql_select.asp – nodeffect

+0

mysql_가 PHP에서 사용되지 않으며 제거 되었기 때문에 mysqli_ 또는 PDO로 mysql_ function switch를 사용하면 안됩니다 7 –

+0

그리고 보간법이 아닌 쿼리에 자리 표시자를 사용하면 SQL 인젝션 공격에 대한 앱이 열립니다. –

답변

0

데이터베이스를 선택하지 않았기 때문에 쿼리가 작동하지 않고 msql_connect도 올바르지 않습니다. mysql_connect은 서버에 사용자 이름과 암호의 세 가지 매개 변수를 허용합니다. 데이터베이스를 선택하려면이 함수를 mysql_select_db('dbname')이라고 부르면 쿼리가 작동합니다.

관련 문제