आपकी समस्या यहाँ है:
$query = mysqli_query("SELECT * FROM users WHERE Username = ? AND Password = ?");
$userParam = array($_POST["Uname"], $_POST["Pass"]);
$st = $database->prepare($query);
$st->execute($userParam);
prepare
एक स्ट्रिंग की अपेक्षा करता है, mysqli_query
एक प्रक्रियात्मक कार्य है जो क्वेरी को निष्पादित करता है। इसे हटा दें। इसके अतिरिक्त, mysqli के साथ आपको पहले पैरामीटर्स को बाइंड करना होगा, न कि उन्हें execute()
. पर पास करना होगा ।
$query = "SELECT * FROM users WHERE Username = ? AND Password = ?";
$st = $database->prepare($query);
$st->bindParam("ss",$_POST["Uname"], $_POST["Pass"]);
$st->execute();
मैनुअल के प्रासंगिक अनुभाग यहां दिए गए हैं:
http://php.net/manual/en/mysqli.prepare.phpए>
http://php.net/manual/en/mysqli-stmt .bind-param.php
http://php.net/manual/en/mysqli-stmt.execute .php