2016-02-11 97 views
0

錯誤 SQLSTATE [HY093]:無效的參數編號:參數未定義!PDO登錄錯誤

<?php 
    session_start(); 
    require_once 'dbconfig.php'; 
    if(isset($_POST['btn-login'])) 
    { 
     $username = trim($_POST['username']); 
     $user_password = trim($_POST['password']); 
     $password = md5($user_password); 
     try{ 
      $stmt = $db_con->prepare("SELECT * FROM user1 WHERE username=:username"); 
      $stmt->execute(array(":email"=>$username)); 
      $row = $stmt->fetch(PDO::FETCH_ASSOC); 
      $count = $stmt->rowCount(); 
      if($row['user_password']==$password){ 
      echo "ok"; // log in 
      $_SESSION['user_session'] = $row['username']; 
      } 
      else{ 
        echo "email or password does not exist."; // wrong details 
       } 
      } 
      catch(PDOException $e) { 
        echo $e->getMessage(); 
       } 
      } 
     ?> 

什麼是正確的代碼?請有人發現錯誤並給出正確編碼

回答

1

您的​​聲明是錯誤的。看到這裏,

$stmt->execute(array(":email"=>$username)); 
         ^

它應該是,

$stmt->execute(array(":username"=>$username)); 
+0

非常感謝!但是用戶名和密碼進入後什麼也沒有做同樣的頁面只顯示爲什麼? – sarathi

+0

* ...用戶名和密碼進入後沒有做相同的頁面只顯示*,你是什麼意思? –

+0

如果在轉到主頁後輸入正確的詳細信息,或者在錯誤的詳細信息中顯示錯誤消息。但沒有表現出來。 – sarathi