Ich bin ein Anfänger im Webdesign, und ich habe dieses Problem. Ich versuche, eine Login-Seite zu erstellen, aber wenn ich versuche, das Login zu erstellen wirft es einen Fehler wie folgt:PHP und mysql seltsame Fehler mit Auswahl
SQLSTATE [42000]: Syntaxfehler oder Zugriffsverletzung: 1064 Sie haben einen Fehler in Ihrer SQL-Syntax ; Sie in die Bedienungsanleitung zu Ihrer MySQL-Server-Version für die richtige Syntax entspricht in der Nähe zu verwenden ': Benutzername und PasswordHash =: passwordhashed)' at line 1
Mit PHP-Code von
Try {
// $SQL = 'INSERT INTO Passwords (username, password, passwordhashed) VALUES (:username,:password,:passwordhashed);';
$username = $_REQUEST['username'];
$password = $_REQUEST['password'];
$PasswordHashed = sha1($password);
echo "Username: ". $username ."<br> Password: ". $password . "<br> PasswordHashed: " . $PasswordHashed;
$SQL = null;
$SQL = "SELECT * FROM BlaBla WHERE (username=:username and passwordhash=:passwordhashed);";
$Statement = $MySQL->prepare($SQL);
$Statement->bindValue(':username', $username);
$Statement->bindValue(':passwordhashed', $PasswordHashed);
$Statement->execute();
$Statement = $MySQL->query($SQL);
if ($Statement->rowCount() < 1) {
echo 'NOPE';
} else {
echo 'welcome back '. $username;
}
} catch(PDOException $e) {
$ErrorTitle = 'Error';
$Error = "error writing to database";
$ErrorInfo = '<p>Please contact administrator at [email protected]</p> <br> <p>'. $e->getMessage() . '</p>';
include './HTML/Error.php';
exit();
}
I don‘ t wissen, was der Fehler ist. Könnte mir jemand helfen?
@devlincarnate: das ist PDO. mysqli hat keine benannten Platzhalter. –
Versuchen Sie, die letzte zu entfernen: '$ MySQL-> query ($ SQL)'. Sie haben die Anweisung bereits mit '$ MySQL-> execute()' ausgeführt. –
$ Anweisung = $ MySQL-> Abfrage ($ SQL); –