Ihre Abfrage sieht gut aus, überprüfen Sie Ihre Variablen (Benutzername, Passwort und E-Mail) vielleicht sind sie leer, versuchen echo "Username: " . $username . " ,Password: " . $password " ,Email : " . $email;
mit ihnen zu überprüfen. Dieser Code stammt aus einem meiner Projekte. Ich habe die Variablen so geändert, dass sie mit Ihren Variablen übereinstimmen.
$stmt = $db->prepare("INSERT INTO members (username, password, email)
VALUES (':username', ':password', ':email')");
$stmt->execute(array(
"username" => $username,
"password" => $password,
"email" => $email)
);
„Prepared Statements werden verwendet, um Ihre Eingabe zu sanieren und zu tun, dass Sie verwenden können: foo ohne Apostrophe innerhalb der SQL-Variablen zu binden, und dann in der execute() Funktion übergeben Sie in einem Array der Variablen, die Sie in der SQL-Anweisung definiert haben. " @ Novocain (https://stackoverflow.com/users/871150/novocaine).
Aber ist alles eingefügt? – Maxxi
keine leere Tabelle mit – user434342
Sie müssen das ganze Skript zeigen, damit jemand helfen kann. Erzählen Sie uns auch, was Sie wissen; Bist du sicher mit DB verbunden, sind die Variablen in der Abfrage ausgefüllt? .. – Maxxi