...wieso funktioniert das mysqli_query nicht?
Hallo, ich habe etwas rumgebastelt und wollte eigentlich nur ein paar Daten in eine Datenbank schreiben, aber irgendwie tut das Programm nicht was es soll. Leider kann ich mit der Fehlermeldung nicht wirklich was anfangen. Wäre net wenn sich jemand bitte mal etwas Zeit nehmen könnte um ma drüber zu schauen. Dankee ;-)
2 Antworten
-
Klar geht das nicht, Du hast ja auch einen Fehler im Code:
$sql = "INSERT INTO ".$dbuname." ('";
Außerdem machst Du das fürchterlich kompliziert.
while(list(....
ist echt umständlich. Nimm mal
foreach($benutzer as $key => $value) {
Das hier:... omgomgomg, wart, ich schreib Dir das einmal KOMPLETT neu :)))
Hallo GoodbyeKitty1, also dein implode mit array_keys, einfach nur genial ;-) und erst dein Das hier:... omgomgomg, wart, ich schreib Dir das einmal KOMPLETT neu :))) ich könnt mich wegtun, schön dass du Spaß verstehst und auch genauso weitergeben kannst. ABER, der Dummdäämliche Fehler: mysqli: 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '0200,0500,0730,0800,1100,1400,1700,2000,2300,feld1,feld2,feld3,feld4) VALUES ('1'... at line 1, kömmt immer noch :-( Auf jeden Fall mal recht herzliches Dankeschön für deine wirklich sehr schnelle Antwort ;-)
hehe ;)
Oh... das sehe ich jetzt erst - Du kannst in einer MySQL den einzelnen Columns (Spalten) natürlich keine numerischen Strings als Namen geben - deshalb geht das auch nicht. Schick mal das Create-Statement Deiner Tabelle ("SHOW CREATE TABLE plan;")
kannst du schon. aber solche syntaktisch problematisch oder mehrdeutige namen musst du dann bei mysql in backticks (`) setzen.
das kannst du dann beim 1. implode so ähnlich machen.
oha, stimmt sogar
Identifiers may begin with a digit but unless quoted may not consist solely of digits.
aber dreckig ist das schon... ;)
Hallo #GoodbyeKitty1: Keine numerischen Strings als Namen. Dass war der ausschlaggebende Punkt, ich hab jetzt einfach noch ein 'z' vorne angestellt, und siehe da, sogar mein Code funktionierte :-)
Man Man Man, was würd ich nur ohne solche Leuts wie dir machen, wahrscheinlich Dumm Sterben :-) :-) :-) Viiiiielen Dank für deine Mühe, hast was gut ;-)
Nun dass du es dir ziemlich schwer machst, wurde dir ja schon gesagt.
Die Fehlermeldung lässt vermuten, dass du die Spalten 0200, 0500, 0730, 0800, 1100, 1400, 1700, 2000, 2300, feld1, feld2, feld3 und feld4 nicht in deiner Tabelle hast.
Ansonsten solltest du uns ggf. mal ausführlicher erklären was du genau vor hast, wie der Tabellenaufbau aussieht, ob der Insert ohne PHP direkt in die DB klappt, wie deine mittels PHP zusammengesetzte SQL Abfrage aussieht und welchen Fehler du genau bekommst.
Dein Code lässt vermuten, dass dein Problem sehr viel besser und einfacher zu lösen ist. Auch solltest du generell ein wenig an deinem Code arbeiten. Die Einrückung sieht höchst seltsam aus und ist nicht konsistent und die Namen der Variablen sind auch zum schreien.
Ist nicht böse gemeint aber gewöhne dir gleich etwas anderes an, so verstehst du später noch was du geschrieben hast und sofern andere mal auf deinen Code schauen verstehen sie auch wesentlich schneller was du vor hast. Wenn Sachen gut programmiert sind lesen sie sich quasi fast wie ein englischer Satz.
Hallo #apachy, die Spalten sind alle vorhanden ;-) Problem wurde von #GoodbyeKitty1 schon gelöst. Keine numerischen Strings als Namen, dennoch vielen Dank für deine Antwort.