Я хочу выполнить запрос select в таблице моих пользователей с sqli в php. По соображениям безопасности (sql injection) я хочу сделать это с помощью параметров (-ов). Также я хочу сохранить результат в переменной php.Как получить запрос запроса sql
Это мой код:
переменная $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
Я надеюсь, что кто-то может обеспечить решение и объяснить мне, что я сделал неправильно. Спасибо заранее!
Спасибо, 4 ваш anwser. Я получил свой код с того же сайта, что и ваш пример. все правильно установили мои переменные. Я хочу сохранить свой результат в переменной, чтобы я мог проверить, есть ли в нем строки. – NickGames
Успешен ли ваш первый запрос? –
Прошу прощения, я поставил номера строк перед неправильными строками. Исправлено. – NickGames