Der Versuch, nur etwas einrichten, dass username = Passwort zu bestätigen, über num_rows = 1.Prepared Statements auswählen mit Variablen - php
Der Versuch vorbereitete Anweisungen zu verwenden, das ich noch nie zuvor verwendet haben, und ich bin etwas fehlt. Woher kommt die Variable in bind_results ('s', $ variable)?
Auch, es funktioniert einfach nicht für mich.
<?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();
?>
Hallo! Verwenden Sie in der Funktion bind_result keine fest codierte Zeichenfolge. Verwenden Sie immer Variablen. In Ihrem Fall: $ sString = "ss"; $ stmt-> bind_result ($ sString, $ username); –
Okay, danke, das werde ich tun. Irgendwelche anderen Vorschläge, damit dies funktioniert? –
Sie können diesen Link überprüfen, Sie haben viele Antworten auf Ihre Frage http://StackOverflow.com/Questions/18753262/Beispiel-von-How-to-use-bind-result-vs-get-result –