Veröffentlicht 6. September 20187 j Hallo ihr lieben, stehe absolut aufm Schlauch ich bin seit ein paar Tagen dran, SQL zu lernen und möchte gerne per PHP was in eine SQL Tabelle eintragen. Ich hatte erst eine "test" Tabelle gemacht, dort klappt es auch. In der richtigen Tabelle habe ich jedoch andere variablen und dort funktioniert es leider nicht.. Als Beispiel ist Bild 1 der test, in dem das ganze funktioniert. Bild 2 ist das, was funktionieren soll, es aber nicht tut Es soll praktisch sowas rauskommen wie bei der Tabelle mit Max Mustermann ..... (Das habe ich manuell bei SQL eingetragen) Wenn ich das ganze jetzt ausgefüllt habe und absenden möchte kommen die error "Warning: mysqli_connect(): (HY000/1044): Access denied for user ''@'localhost' to database 'projekt_clab' in C:\xampp\htdocs\Clab.php on line 12 Notice: Undefined index: Vorname in C:\xampp\htdocs\Clab.php on line 17 Notice: Undefined index: Nachname in C:\xampp\htdocs\Clab.php on line 18 Notice: Undefined index: Telefonnummer in C:\xampp\htdocs\Clab.php on line 19 Notice: Undefined index: Raum in C:\xampp\htdocs\Clab.php on line 20 Notice: Undefined index: Gerät in C:\xampp\htdocs\Clab.php on line 21 Fatal error: Uncaught Error: Call to a member function prepare() on boolean in C:\xampp\htdocs\Clab.php:23 Stack trace: #0 {main} thrown in C:\xampp\htdocs\Clab.php on line 23".. Bearbeitet 6. September 20187 j von DomentusTM
6. September 20187 j Deine Tabelle heißt Geraet und nicht Gerät, wie in deinen prepared Statement angegeben. Generell würde ich auf Umlaute in Variablen und Tabellenbezeichnern gänzlich verzichten.
6. September 20187 j Autor vor 1 Minute schrieb Gottlike: Deine Tabelle heißt Geraet und nicht Gerät, wie in deinen prepared Statement angegeben. Generell würde ich auf Umlaute in Variablen und Tabellenbezeichnern gänzlich verzichten. Habs geändert, aber geht leider immernoch nicht Jetzt kommt die Fehlermeldung "Parse error: syntax error, unexpected '$nutzerID' (T_VARIABLE), expecting ',' or ')' in C:\xampp\htdocs\Clab.php on line 28"
6. September 20187 j vor 2 Minuten schrieb DomentusTM: Habs geändert, aber geht leider immernoch nicht Jetzt kommt die Fehlermeldung Da fehlt das Komma hinter 'isssiis', so wie dir die Fehlermeldung auch sagt. Bearbeitet 6. September 20187 j von Rienne
6. September 20187 j Autor Daraufhin kommt diese Fehlermeldung ._. Warning: mysqli_connect(): (HY000/1044): Access denied for user ''@'localhost' to database 'projekt_clab' in C:\xampp\htdocs\Clab.php on line 14 Notice: Undefined index: Nutzer_ID in C:\xampp\htdocs\Clab.php on line 19 Notice: Undefined index: Vorname in C:\xampp\htdocs\Clab.php on line 20 Notice: Undefined index: Nachname in C:\xampp\htdocs\Clab.php on line 21 Notice: Undefined index: Telefonnummer in C:\xampp\htdocs\Clab.php on line 23 Notice: Undefined index: Raum in C:\xampp\htdocs\Clab.php on line 24 Notice: Undefined index: Geraet in C:\xampp\htdocs\Clab.php on line 25 Fatal error: Uncaught Error: Call to a member function prepare() on boolean in C:\xampp\htdocs\Clab.php:27 Stack trace: #0 {main} thrown in C:\xampp\htdocs\Clab.php on line 27
6. September 20187 j vor 2 Minuten schrieb DomentusTM: Habs geändert, aber geht leider immernoch nicht Jetzt kommt die Fehlermeldung "Parse error: syntax error, unexpected '$nutzerID' (T_VARIABLE), expecting ',' or ')' in C:\xampp\htdocs\Clab.php on line 28" Wechsel mal noch das VALUES(?,?,?,?,?,?,?())" in VALUES(?,?,?,?,?,?,?)" Die beiden Klammern wurden nur für die Funktion NOW() genutzt, die das aktuelle Datum + Zeit ausgeben
6. September 20187 j Autor Gerade eben schrieb Gottlike: Wechsel mal noch das VALUES(?,?,?,?,?,?,?())" in VALUES(?,?,?,?,?,?,?)" Die beiden Klammern wurden nur für die Funktion NOW() genutzt, die das aktuelle Datum + Zeit ausgeben Sind leider immernoch da die Fehlermeldungen
6. September 20187 j Vergleich doch einfach mal deinen Code mit dem Testcode. Da fällt dann z.B. auf, dass dort die Namen und nicht die Placeholder hingehören.
6. September 20187 j Autor vor 1 Minute schrieb Rienne: Vergleich doch einfach mal deinen Code mit dem Testcode. Da fällt dann z.B. auf, dass dort die Namen und nicht die Placeholder hingehören. Wie meinst du das?
6. September 20187 j Du schreibst in Zeile 19 zum Beispiel 'Nutzer_ID' der Spaltenname ist aber 'nutzerID'. 'Nutzer_ID' ist ja nur der von dir oben definierte Placeholder. Auch solltest du auf die case sensitivity achten. Bearbeitet 6. September 20187 j von Rienne
6. September 20187 j Autor <form action="" method="post"> <input type="text" name="Nutzer_ID" placeholder="Nutzer_ID"><br> <input type="text" name="Vorname" placeholder="Vorname"><br> <input type="text" name="Nachname" placeholder="Nachname"><br> <input type="text" name="E-Mail" placeholder="E-Mail"><br> <input type="text" name="Telefonnummer" placeholder="Telefonnummer"><br> <input type="text" name="Raum" placeholder="Raum"><br> <input type="text" name="Geraet" placeholder="Gerät"><br> <input type="submit" name="submit" value="Absenden"><br> </form> <?php $db = mysqli_connect("localhost","","","projekt_clab"); if(isset($_POST["submit"])): $nutzerID = $_POST['Nutzer_ID']; $vorname = $_POST['Vorname']; $nachname = $_POST['Nachname']; $email = $_POST['E-Mail']; $telefonnummer = $_POST['Telefonnummer']; $raum = $_POST['Raum']; $gerät = $_POST['Geraet']; $absenden = $db->prepare("INSERT INTO nutzer (Nutzer_ID ,Vorname, Nachname, E-Mail, Telefonnummer, Raum, Geraet) VALUES (?,?,?,?,?,?,?)"); $absenden->bind_param('isssiis',$nutzerID,$vorname,$nachname,$email,$telefonnummer,$raum,$geraet); $absenden->execute(); endif; ?>
6. September 20187 j $db = mysqli_connect("localhost","","","projekt_clab"); Da fehlen Username (und evtl. Passwort) um zur Datenbank zu verbinden. Und ändere $gerät unbedingt auf $geraet. Bearbeitet 6. September 20187 j von PVoss
6. September 20187 j Gerade eben schrieb PVoss: $db = mysqli_connect("localhost","","","projekt_clab"); Da fehlen Username (und evtl. Passwort) um zur Datenbank zu verbinden. Jup, die fehlen aber oben auch. Da funktioniert es ja. Existiert überhaupt die db projekt_clab oder hast du sie anders genannt/konfiguriert?
6. September 20187 j Autor vor 1 Minute schrieb PVoss: $db = mysqli_connect("localhost","","","projekt_clab"); Da fehlen Username (und evtl. Passwort) um zur Datenbank zu verbinden. Habe kein Username und Passwort.. Und in der test datei ging das ja auch ohne :x
6. September 20187 j Gerade eben schrieb PVoss: Da fehlen Username (und evtl. Passwort) um zur Datenbank zu verbinden. Fehlen in dem Beispielcode auch. Das ist nicht der Fehler. Er nutzt nicht die korrekten Namen für die Spalten und die beiden Klammern in Zeile 27 müssen weg, so wie @Gottlike geschrieben hat. Das sind zumindest die Fehler, die die Fehlermeldungen betreffen.
6. September 20187 j Autor Gerade eben schrieb Gottlike: Jup, die fehlen aber oben auch. Da funktioniert es ja. Existiert überhaupt die db projekt_clab oder hast du sie anders genannt/konfiguriert? die heißt in der Datenbank auch "projekt_clab"
6. September 20187 j Autor Gerade eben schrieb Rienne: Fehlen in dem Beispielcode auch. Das ist nicht der Fehler. Er nutzt nicht die korrekten Namen für die Spalten und die beiden Klammern in Zeile 27 müssen weg, so wie @Gottlike geschrieben hat. Das sind zumindest die Fehler, die die Fehlermeldungen betreffen. die beiden klammern hinter dem letzten ? habe ich ja weg gemacht
6. September 20187 j if(isset($_POST["submit"])): $nutzerID = $_POST['nutzerID']; $vorname = $_POST['vorname']; $nachname = $_POST['nachname']; $email = $_POST['E-Mail']; $telefonnummer = $_POST['telefonnummer']; $raum = $_POST['raum']; $gerät = $_POST['geraet']; bzw. $gerät = $_POST['gerät']
6. September 20187 j vor 16 Minuten schrieb DomentusTM: mysqli_connect(): (HY000/1044): Access denied for user ''@'localhost' to database 'projekt_clab' in C:\xampp\htdocs\Clab.php on line 14 Naja, entweder Username und Passwort sind falsch oder es gibt die Datenbank nicht^^' Es wird auf jeden Fall mal Zeit zu debuggen: http://php.net/manual/de/mysqli.error.php Sind die Notices über die undefined indexes noch aktuell? Laut dem letzten Code stimmen Index und Input-Namen ja überein. Bearbeitet 6. September 20187 j von PVoss
6. September 20187 j Füg mal noch ein if ($db -> connect_errno) { printf("Verbindung fehlgeschlagen: %s\n", $db->connect_error); exit(); } nach der Verbindung zur Datenbank ein. Und gib uns die Fehlermeldung durch.
6. September 20187 j Autor Warning: mysqli_connect(): (HY000/1044): Access denied for user ''@'localhost' to database 'projekt_clab' in C:\xampp\htdocs\Clab.php on line 14 Notice: Trying to get property 'connect_errno' of non-object in C:\xampp\htdocs\Clab.php on line 16 Notice: Undefined index: geraet in C:\xampp\htdocs\Clab.php on line 30 Fatal error: Uncaught Error: Call to a member function prepare() on boolean in C:\xampp\htdocs\Clab.php:32 Stack trace: #0 {main} thrown in C:\xampp\htdocs\Clab.php on line 32 vor 1 Minute schrieb Gottlike: Füg mal noch ein if ($db -> connect_errno) { printf("Verbindung fehlgeschlagen: %s\n", $db->connect_error); exit(); } nach der Verbindung zur Datenbank ein. Und gib uns die Fehlermeldung durch.
6. September 20187 j Poste mal Code und Fehlermeldungen zusammen, sonst muss man hin und her scrollen und reverse engineeren was für Bugfixes du jetzt eingebaut hast und wie dein Code aussehen könnte.
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.