2017-01-09 37 views
0

我一直在嘗試使用存儲過程的參數使用pdo創建登錄頁面。PHP:使用存儲過程的參數登錄

處理

if (isset($_POST['login'])){ 
    $UserId = $_POST['UserId']; 
    $UserPwd = $_POST['UserPwd']; 

這裏的要求就是我的代碼

$sql = $conn->prepare("SELECT * FROM UserLogin @varUserId as UserId, @varUserPwd as UserPwd VALUES (?,?)"); 
$stmt = $conn->prepare($sql); 
$stmt->bind_param("ss", $UserId, $UserPwd,PDO::PARAM_STR|PDO::PARAM_INPUT_OUTPUT, 4000); 
$stmt->execute(); 

以下是錯誤,我得到

Fatal error: Uncaught Error: Call to a member function bind_param() on boolean in C:\xampp\htdocs\index.php:22 Stack trace: #0 {main} thrown in C:\xampp\htdocs\index.php on line 22

這指的這行代碼

$stmt->bind_param("ss", $UserId, $UserPwd,PDO::PARAM_STR|PDO::PARAM_INPUT_OUTPUT, 4000); 

HTML登錄表單的

<html> 
    <head><title>Login</title></head> 
    <body> 
     <form method="post" name="login"> 
      <input type="text" name="UserId"> 
      <input type="text" name="UserPwd"> 
      <input type="submit" name="login" value="Login"> 
     </form> 
    </body> 
</html> 

請幫助我。

+0

你的代碼的技術和獨特的幻想只是一個奇怪的組合。從告訴我們什麼是你正在談論的「存儲過程」以及爲什麼使用它的想法開始 –

+0

_你的代碼只是一種奇怪的技術和奇特的幻想組合_請告訴我更多。我是一個新的學習者。我試圖從存儲過程中調用變量以用於登錄。我成功地實現了登錄與phpmyadmin數據庫,現在我想用存儲過程。 @YourCommonSense –

回答

-1

變化

$sql = 'SELECT * FROM UserLogin where UserId = ? and UserPwd = ?'; 
$stmt = $conn->prepare($sql); 
$stmt->execute([$UserId, $UserPwd]); 
$count = $stmt->fetchColumn(); 
+0

對不起,我仍然得到同樣的錯誤@dhruvjadia –

+0

答案更新.. –

+0

錯誤仍然存​​在。任何想法? –