Ich lerne PHP und SQL, indem ich MAMP auf meinem Mac laufe und über phpMyAdmin auf die Datenbank zugreife.Warum fügt meine MySQL-Datenbank leere Zeilen hinzu?
Ich habe ein PHP-Skript gemacht, um einen neuen Benutzer zu einer Tabelle hinzuzufügen, einen zum Vergleichen eingegebener Daten mit der Tabelle (Login) und einen zum Schließen eines Kontos. Alle Skripte sind sehr einfach und die Daten werden überhaupt nicht bereinigt, da ich mich nur an die Grundlagen von PHP gewöhnt habe.
Ich habe festgestellt, dass, nachdem ich das Skript für die Kontoerstellung (Einfügen von Daten) ausgeführt habe, ein paar Sekunden nach der Ausführung des Skripts eine neue Zeile mit einer ID (die ich auf automatisch festgelegt wurde) hinzugefügt Inkrement), aber keine anderen Daten.
Ich frage mich nur, ob der Grund dafür in MySQL etwas ist, das ich gerade vermisse.
Hier finden Sie die Kontoerstellung Skript:
<?php
//Get values from HTML form
$varUsername = $_POST['username'];
$varPassword = $_POST['password'];
$varPasswordHash = password_hash($varPassword, PASSWORD_DEFAULT);
//Establish connection to database
$server = "localhost";
$username = "root";
$password = "root";
$database = "members";
$connection = mysqli_connect($server, $username, $password, $database);
if(!$connection)
{
die("Connection failed: " . mysqli_connect_error());
}
//Send data to database
$action = "INSERT INTO details (USERNAME, PASSWORD) VALUES ('$varUsername', '$varPassword')";
if(mysqli_query($connection, $action))
{
echo 'Account created.';
}
else
{
echo 'Account creation failed: ' . mysqli_error($connection);
}
mysqli_close($connection); //End connection to database
?>
und das HTML-Formular mit ihm zu gehen:
<html>
<body>
<form action="sign_up.php" method="post">
<input type="text" name="username">
<input type="text" name="password">
<input type="submit">
</form>
</body>
</html>
Können Sie dieses Skript mit uns teilen? –
Entweder haben Sie einen Trigger für diese Tabelle oder eine fehlende Schleifenlogik fügt einen zusätzlichen Datensatz ein. Teilen Sie den Code, egal wie teribad. – Mihai
Haben Sie das Debuggen probiert? Bitte zeigen Sie auch Ihren HTML-Code an. Sie sollten print_r ($ _ POST) in der allerersten Zeile versuchen und sehen, was Ihre POST-Daten sind. Ich denke, Sie erhalten nicht die gewünschten POST-Daten. –