Попытка просто создать что-то, чтобы убедиться, что имя пользователя = пароль через NUM_ROWS = 1.Подготовленные отчеты Выберите с переменными PHP -
Попытка использовать подготовленные заявления, что я никогда не использовал раньше, и я что-то отсутствует. Где происходит переменная var в bind_results ('s', $ variable)?
Кроме того, его просто не работает для меня.
<?php
require ($_SERVER['DOCUMENT_ROOT'].'/db-connect.php');
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$user = $_POST['username'];
//$user = $mysqli->real_escape_string($user);//
$password = $_POST['password'];
//$password = $mysqli->real_escape_string($password);//
if ($stmt = $mysqli->prepare("SELECT * FROM users WHERE username = ? AND password = ?")) {
$stmt->bind_result('ss', $username);
$stmt->execute();
$result = $stmt->num_rows;
echo $result;
$stmt->close();
}
$mysqli->close();
?>
Привет! не используют жестко закодированную строку в функции bind_result. Используйте всегда переменные. В вашем случае: $ sString = "ss"; $ stmt-> bind_result ($ sString, $ username); –
Хорошо, спасибо, сделаю это. Любые другие предложения, чтобы сделать эту работу? –
Вы можете проверить эту ссылку, у вас есть много ответов на ваш вопрос http://stackoverflow.com/questions/18753262/example-of-how-to-use-bind-result-vs-get-result –