Ich versuche, die INSERT INTO SQL-Anweisung in PHP zu verwenden. Es wird alles bis zum letzten Wert ($bands_bio
) korrekt eingegeben. Anstatt die richtigen Informationen einzugeben, bleibt der Wert leer. Ich habe über alles nachgedacht und finde keine Syntaxfehler.INSERT INTO-Anweisung wird nicht korrekt einen bestimmten Wert einfügen?
$page_title = "Create a new band";
require ('includes/database.php');
require_once 'includes/bandsHeader.php';
$band_name = $conn->real_escape_string(trim(filter_input(INPUT_GET, 'band_name', FILTER_SANITIZE_STRING)));
$band_photo = $conn->real_escape_string(trim(filter_input(INPUT_GET, 'band_photo', FILTER_SANITIZE_STRING)));
$genre = $conn->real_escape_string(trim(filter_input(INPUT_GET, 'genre', FILTER_SANITIZE_STRING)));
$band_bio = $conn->real_escape_string(trim(filter_input(INPUT_GET, 'band_bio', FILTER_SANITIZE_STRING)));
echo $band_bio;
if (($band_name === "") OR ($genre === "") OR ($band_photo === "") OR ($band_bio = "")) {
$errno = $conn->errno;
$errmsg = $conn->error;
echo "<div id='contentWrapper'>";
echo "<div class='contentBox'>";
echo "Insertion failed with: ($errno) $errmsg<br/>\n";
echo "</div></div>";
$conn->close();
include 'includes/searchFooter.php';
exit;
}
$albums = 0;
$sql = "INSERT INTO bands VALUES (NULL, '$band_name', '$genre', '$albums', '$band_bio')";
$query = @$conn->query($sql);
if (!$query) {
$errno = $conn->errno;
$errmsg = $conn->error;
echo "<div id='contentWrapper'>";
echo "<div class='contentBox'>";
echo "Insertion failed with: ($errno) $errmsg<br/>\n";
echo "</div></div>";
$conn->close();
include 'includes/footer.php';
exit;
}
Wie Sie sehen können, wiederholte ich $band_bio
, um zu sehen, ob es war den richtigen Wert von meiner Form erhalten, die die GET-Methode verwendet, die es das ist nicht das Problem so. Es hat kein Problem, alles bis zum letzten Wert korrekt einzufügen, der die letzte Spalte namens band_bio
in meiner bands
Tabelle in meiner Datenbank sein soll. Es werden auch keine Fehler ausgegeben. Es ist fast so, als würde man die String-Daten von der Variablen nehmen und den gesamten Text entfernen, bevor die Information eingefügt wird.
Ich arbeite seit ein paar Wochen auf dieser Website und habe die INSERT INTO-Anweisung genau so auf anderen Seiten verwendet und es funktioniert gut. Das ist das erste, was mich wirklich überrascht hat und ich kann es nicht herausfinden. Jede Hilfe wird geschätzt.
Was ist das ddl (Schema) für Ihre 'bands' Tabelle? – eggmatters
Was eggmatters sagte + Beispiel Werte, die Sie einfügen, wenn möglich :) – vuryss
Könnte es sein: '$ bands_bio =" ''); DELETE von Bändern, wo wahr '"'? – eggmatters