2016-03-29 12 views
-1

テーブルに行があり、ログインページ用にこのコードを書きました。残念ながら、ユーザーのログインページでは動作していますが、管理ログインページでは動作していません。

if ($result = mysqli_query($connection, "SELECT * FROM admin WHERE username = '$username' AND password = '$password'")) { 
     $rownum = mysqli_num_rows($result); 
     if($rownum == 1){ 
      $_SESSION['print_admin'] = 'ok'; 
      header("Location: ../admin/index.php"); 
      die(); 
     } else { 
      echo "password is wrong"; 
     } 
    } 

$rownumは0を返しますが、そのユーザーでは、私はテーブルに行を渡します!

+0

は '$ ROWNUMのにそれを変更しよう> 1 ' – aldrin27

+4

は、クエリをエコー、それは私が行う – Saty

+0

を返すどのようなphpMyAdminのチェックに実行しますそれはphpmyadminでも行を見つけることができません!それはテーブル上に存在し、私は私の価値が真実であると確信しています... –

答えて

-1

はこれを試してみてください:

$sql = "SELECT * FROM admin WHERE username = '".$username."' AND password = '".$password."'"; 
echo $sql; //copy and test using phpmyadmin :D 

if ($result = mysqli_query($connection, $sql)) { 

    $rownum = mysqli_num_rows($result); 
    if($rownum == 1){ 
     $_SESSION['print_admin'] = 'ok'; 
     header("Location: ../admin/index.php"); 
     die(); 
    } 
    else { 
     echo "password is wrong"; 
    } 
} 
+0

あなたのsqlは次のように推測されます:SELECT * FROM admin WHERE username = '$ username' AND password = '$ password'。問題は一重引用符です –

-1

は、この方法を試してください。

if ($result = mysqli_query($connection, "SELECT * FROM admin WHERE username = '$username' AND password = '$password'")) { 


    if(mysqli_num_rows($result)){ 
    $_SESSION['print_admin'] = 'ok'; 
    header("Location: ../admin/index.php"); 
    die(); 
    } 
    else { 
      echo "password is wrong"; 
    } 
} 
関連する問題