2017-01-04 2 views
0

この文をどのようにmysqliに変換できますか?私はそれを変換しようとしましたが、動作していません。私は何が欠けている。私はログインフォームに接続したいです。mysqli変換フェッチクエリ

これは私が変換したコードです。

<?php 
include('admin/dbcon.php'); 
     session_start(); 
     $username = $_POST['username']; 
     $password = $_POST['password']; 

     /* teacher */ 
     $query_teacher = mysql_query("SELECT * FROM teacher WHERE username='$username' AND password='$password'")or die(mysql_error()); 
     $num_row_teacher = mysql_num_rows($query_teacher); 
     $row_teahcer = mysql_fetch_array($query_teacher); 

     /* admin */ 
     $query_admin = mysql_query("SELECT * FROM users WHERE username='$username' AND password='$password'")or die(mysql_error()); 
     $num_row_admin = mysql_num_rows($query_admin); 
     $row_admin = mysql_fetch_array($query_admin); 


     if ($num_row_teacher > 0){ 
     $_SESSION['id']=$row_teahcer['teacher_id']; 
     echo 'true'; 

     }else if ($num_row_admin > 0){ 
     $_SESSION['id']=$row_admin['user_id']; 
     echo 'true_admin'; 

     }else{ 
       echo 'false'; 
     } 

     ?> 

これは変換されたmysqliですが、まだログオンできません。この問題を解決する手助けができれば、非常に感謝しています。

<?php 

// establishing the MySQLi connection 



$con = mysqli_connect("localhost","root","","retreat"); 

if (mysqli_connect_errno()) 

{ 

echo "MySQLi Connection was not established: " . mysqli_connect_error(); 

} 

// checking the user 
     session_start(); 

     $username = mysqli_real_escape_string($con,$_POST['username']; 
     $password = mysqli_real_escape_string($con,$_POST['password']; 


     /* teacher */ 



     $query_teacher = "SELECT * FROM teacher WHERE username='$username' AND password='$password'"; 

     $num_row_teacher = mysqli_query($con,$query_teacher); 

     $row_teahcer = mysqli_num_rows($num_row_teacher); 

     /* admin */ 
     $query_admin = "SELECT * FROM users WHERE username='$username' AND password='$password'"; 

     $num_row_admin = mysqli_query($con,$query_admin); 
     $row_admin = mysqli_num_rows($num_row_admin); 


     if ($row_teahcer > 0){ 
      //$_SESSION['user_email']=$email; 
     $_SESSION['']=$row_teacher['teacher_id']; 
     echo 'true'; 

     }else if ($num_row_admin > 0){ 
     $_SESSION['id']=$row_admin['user_id']; 
     echo 'true_admin'; 

     }else{ 
       echo 'false'; 
     } 

     ?> 
+0

が欠落しています。 $ results2 = $ num_row_admin-> fetch(); '$ _SESSION ['id'] = $ results ['user_id']' – Shahmee

+0

@Shahmeeこれは手続き型のOOPではありません。 – Kitson88

+0

これを '$ results = mysqli_fetch_array($ num_row_teacher)に置き換えます。 $ results2 = mysqli_fetch_array($ num_row_admin); ' – Shahmee

答えて

0
<?php 
//db details 
$dbHost = 'localhost'; 
$dbUsername = 'root'; 
$dbPassword = ''; 
$dbName = 'retreat'; 

//Connect and select the database 
$db = new mysqli($dbHost, $dbUsername, $dbPassword, $dbName); 

if ($db->connect_error) { 
    die("Connection failed: " . $db->connect_error); 
} 

      session_start(); 
      $username = $_POST['username']; 
      $password = $_POST['password']; 



      /* teacher */ 
      $query = $db->query("SELECT * FROM teacher WHERE username='$username' AND password='$password'")or die(mysqli_error()); 
      $num_row_teacher = mysqli_num_rows($query); 
      $row_teahcer = mysqli_fetch_array($query); 



      /* admin */ 
      $query_admin = $db->query("SELECT * FROM users WHERE username='$username' AND password='$password'")or die(mysqli_error()); 
      $num_row_admin = mysqli_num_rows($query_admin); 
      $row_admin = mysqli_fetch_array($query_admin); 


      if ($num_row_teacher > 0){ 
      $_SESSION['id']=$row_teahcer['teacher_id']; 
      echo 'true'; 

      }else if ($num_row_admin > 0){ 
      $_SESSION['id']=$row_admin['user_id']; 
      echo 'true_admin'; 

      }else{ 
        echo 'false'; 
      } 


    enter code here 
     ?> 
0

あなたは、あなたが、 `$結果= $ num_row_teacher->()をフェッチ が欠落している

$row_teahcer=mysqli_fetch_array($num_row_teacher); 
$row_admin=mysqli_fetch_array($num_row_admin); 
関連する問題