我想在我的用戶表上用sqli在php中執行選擇查詢。 出於安全原因(SQL注入),我想要使用參數來做到這一點。 另外我想將結果存儲在一個php變量中。如何獲得選擇查詢工作sqli
這是我的代碼:
的$conn
變量填寫正確。
$login = $_POST['username'];
//Check if username is available
/*Line44*/ $stmt = $conn->prepare("SELECT login FROM users WHERE login = ?");
/*Line45*/ $stmt->bind_param('s', $login);
$result = $stmt->execute();
if ($result->num_rows > 0)
{
echo "This username is in use.";
}
else
{
//Add account to database
$stmt = $conn->prepare("INSERT INTO users (login, password, email, gender) VALUES (?, ?, ?, ?)");
$stmt->bind_param('ssss', $login, $md5pass, $email, $gender);
$stmt->execute();
$stmt->close();
echo "<font color=\"#254117;\">Your account is succesfully geregistered! <br />U can now login!</font>";
}
我得到這個錯誤:
Warning: mysqli::prepare() [mysqli.prepare]: Couldn't fetch mysqli in C:\xampp\htdocs\cammerta\registreer.php on line 44
Fatal error: Call to a member function bind_param() on a non-object in C:\xampp\htdocs\cammerta\registreer.php on line 45
我希望有人能提供一個解決方案,向我解釋,我做錯了什麼。 在此先感謝!在phpMyAdmin或任何程序
2.Maybe您沒有設置變量
謝謝4你的anwser。我從你的例子中找到了來自同一網站的代碼。所有已經正確設置我的變量。我想將結果存儲在一個變量中,以便檢查它是否在行中。 – NickGames 2015-03-19 12:30:44
您的第一個查詢運行成功嗎? – 2015-03-19 12:31:45
對不起,我把行號放在錯誤的行之前。現在修復它。 – NickGames 2015-03-19 12:37:03