2016-06-14 5 views
0

このクエリはfalseのブール値を返しています。私はこのコードを使用して、次のログインフォームページを使用してデータベースからデータをフェッチすることができません:それは "(偽)BOOL"データベースからデータを取得中に選択クエリが機能しない

を印刷している

<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から廃止され、PHPから削除されているので、mysql_function switchをmysqli_またはPDOに使用しないでください7 –

+0

そして補間ではなく、クエリでプレースホルダを使用すると、SQLインジェクション攻撃のためにアプリが開かれます... –

答えて

0

データベースを選択しておらず、msql_connectも正しくないため、クエリが機能しません。 mysql_connectは、サーバーにユーザー名とパスワードの3つのパラメーターを受け入れます。データベースを選択するには、この関数をmysql_select_db('dbname')と呼ぶ必要があり、クエリが機能します。

関連する問題