Ich bin neu in PHP, also kämpfe ich um dieses Problem zu lösen.überprüfen, ob Daten bereits in Mysql-Datenbank existieren
Hier ist mein Code, der die Variablenwerte in bestimmten Tabellenzeilen innerhalb der Tabelle "booked" speichert.
Ich möchte sicherstellen, dass mysql die Einfügung des Wertes in die Datenbanktabelle "booked" zurückweist, wenn alle Variablenwerte bereits in der Datenbank vorhanden sind.
Hinweis: Alle Werte müssen identisch sein, um zurückgewiesen zu werden. Wenn beispielsweise alle Werte bis auf einen Wert identisch sind, sollte das System die Einfügung dennoch akzeptieren.
Der Code, den ich unten geschrieben habe, prüft zuerst, ob die Daten bereits in der Datenbank vorhanden sind. Wenn es vorhanden ist, gibt es Echos "Daten bereits vorhanden", wenn nicht, fügt es den neuen Wert in die Datenbank ein.
aber dieser Code scheint nicht zu funktionieren, also habe ich mich gefragt, ob ihr meinen Code überprüfen könnt, um zu sehen, was ich falsch mache?
<?php
$servername = "localhost";
$name = "root";
$password = "root";
$dbname = "my computer";
// Create connection
$conn = mysqli_connect($servername, $name, $password, $dbname);
// Check connection
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
$query = "SELECT * FROM `booked` WHERE
`name` = '{$username}'
`date` = '{$date}'
`computer_id` = '{$select3}'
`start_time` = '{$select1}'
`end_time` = '{$select2}'
`room` = '{$room}'
";
$result = mysqli_query($conn, $query);
if (mysqli_num_rows ($result) > 1)
{
echo "data already exists";
}
else
{
$sql = "INSERT INTO booked (date, computer_id, name, start_time, end_time, room)
VALUES ('$date', '$select3', '$username', '$select1', '$select2', '$room')";
if (mysqli_query($conn, $sql)) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . mysqli_error($conn);
}
mysqli_close($conn);
}
?>
wo kommen all diese Variablen her? –
Sie haben uns nicht gesagt, welchen Syntaxfehler Sie hier bekommen haben. Es ist ziemlich offensichtlich, dass Sie das Handbuch zu SELECT und der WHERE-Klausel nicht gelesen haben. –
Hoffentlich hängt dies nicht von register_globals ab, um alle diese Variablen zu füllen. –