Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Neuer Datenbankeintrag wird nicht in die MYSQL DB übernommen.

Frage Entwicklung Datenbanken

Mitglied: Cayman

Cayman (Level 1) - Jetzt verbinden

20.02.2006, aktualisiert 01.04.2006, 5073 Aufrufe, 16 Kommentare

Ich mal wieder,,,,

weiß Jemand warum die Werte des folgenden PHP Codes nicht in die DB übernommen werden?

Ich habe ein HTML Eingabeformular bebastelt das alle unten genannten Werte abfragt.

Mein PHP Code wie unten abgebildet holt sich alles via POST und sollte eigentlich wie unten zu sehen die Werte in die Tabelle 'kunden' eintragen.

Was ich bekomme nachdem ich einen neuen Kunden anlegen will ist zwar die ECHO Anweisung mit dem OK aber der Kunde ist definitiv nicht in der DB wenn ich mir diese anschaue via PHPMYADMIN.

Any ideas?


Besten Dank
Marc

Anbei meine SQL Tabelle:
<img src='/images/articles/330055dc2fb02dc5cafac910df342f06-sql.jpg' align='default' hspace='0' vspace='0' border='0'>


<?php

$firmenname = $_POST["firmenname"];
$geschaeftsfuehrer = $_POST["geschaeftsfuehrer"];
$strasse = $_POST["strasse"];
$plz = $_POST["plz"];
$ort = $_POST["ort"];
$land = $_POST["land"];
$telefon = $_POST["telefon"];
$handy = $_POST["handy"];
$fax = $_POST["fax"];
$email = $_POST["email"];
$handelsregister = $_POST["handeslregister"];
$steuernummer = $_POST["steuernummer"];
$website = $_POST["website"];
$kundennummer = $_POST["kundennummer"];

$db = mysql_connect("localhost","root","test123");
mysql_select_db("mycompany");

$neu ="INSERT INTO kunden VALUES

('$firmenname','$geschaeftsfuehrer','$strasse','$plz','$ort','$land','$telefon','$handy','$fax','$email','$handelsregister','$steuernummer','$website','$kundennummer)";

mysql_query($neu);

mysql_close($db);

echo "Der Kunde wurde erfolgreich angelegt."

?>
Mitglied: Cayman
20.02.2006 um 16:13 Uhr
P.S Die Datanbank und die Tabelle existieren und die Felder stimmen ebenfalls überein.
Bitte warten ..
Mitglied: Dani
20.02.2006 um 16:15 Uhr
Hi,
du musst noch die Spaltenname angeben!!!


Beispiel von mir:
$sql="INSERT INTO home_news (id, titel, text, link, date) VALUES ('', '$ueber','$text' ,'$link', NOW())";
mysql_query($sql);
Bitte warten ..
Mitglied: Cayman
20.02.2006 um 16:23 Uhr
Hallo!

Habe ich eben getestet aber weiterhin kein neuer Kunde in meiner DB.

Code wie folgt:

<?php

$firmenname = $_POST["firmenname"];
$geschaeftsfuehrer = $_POST["geschaeftsfuehrer"];
$strasse = $_POST["strasse"];
$plz = $_POST["plz"];
$ort = $_POST["ort"];
$land = $_POST["land"];
$telefon = $_POST["telefon"];
$handy = $_POST["handy"];
$fax = $_POST["fax"];
$email = $_POST["email"];
$handelsregister = $_POST["handeslregister"];
$steuernummer = $_POST["steuernummer"];
$website = $_POST["website"];
$kundennummer = $_POST["kundennummer"];

$db = mysql_connect("localhost","root","test123");
mysql_select_db("mycompany");

$neu ="INSERT INTO kunden
(Firmenname, Geschaeftsfuehrer, Strasse, PLZ, Ort, Land, Telefon, Handy, Fax, E-Mail, Handelsregisternummer, Steuernummer, Website, Kundennummer)
VALUES
('$firmenname','$geschaeftsfuehrer','$strasse','$plz','$ort','$land','$telefon','$handy','$fax','$email','$handelsregister','$steuernummer','$website','$kundennummer)";

mysql_query($neu);

mysql_close($db);

echo "Der Kunde wurde erfolgreich angelegt."

?>

Noch andere Ideen?

Besten Dank
Bitte warten ..
Mitglied: Dani
20.02.2006 um 16:45 Uhr
Mach einfach mal noch echo $sql. Kopier den Code in phpMyAdmin und führ dann mal aus. Falls dann ein Fehler kommt, bitte posten.

Gruß
Dani
Bitte warten ..
Mitglied: Cayman
20.02.2006 um 16:52 Uhr
Sorry bin noch kein Prof.

Meinst Du einfach nach meiner letzten ECHO Anweisung (echo "Der Kunde....") noch

echo $sql

eingeben oder?

Und wie gebe ich den Code in PHPMYADMIN ein? Sofern ich den einfach reinkopiere bekomme ich doch mit Sicherheit eine FM da die Variablen noch nicht vorhanden sind....
Bitte warten ..
Mitglied: Dani
20.02.2006 um 16:56 Uhr
Genau, einfach nachdem letzten echo - Ausgabe. Dann den ausgegebenen Befehl kopieren. phpMyadmin auf machen und in die Tabelle kunden gehen. Dann gibst oben sowas wie SQL. Dort den Code einfügen und auf OK klicken. Nun müsste korrekterweiße der Datensatz eingefügt werden.
Bitte warten ..
Mitglied: Cayman
20.02.2006 um 16:59 Uhr
Erledigt.

Ich bekomme folgende FM über PHPMYADMIN:


Es scheint einen Fehler in Ihrer MySQL-Abfrage zu geben. Die MySQL-Fehlerausgabe, falls vorhanden, kann Ihnen auch bei der Fehleranalyse helfen.

ERROR: Nicht geschlossene Anführungszeichen @ 308
STR: '
SQL: INSERT INTO kunden (Firmenname, Geschaeftsfuehrer, Strasse, PLZ, Ort, Land, Telefon, Handy, Fax, E-Mail, Handelsregisternummer, Steuernummer, Website, Kundennummer) VALUES ('BCS','Michael Bernhardt','AltHausen 34','63345','Frankfurt','Deutschland','0614435','663449783','54353','bfv@gmx.com','','545','5245','543)

SQL-Befehl:

INSERT INTO kunden (Firmenname, Geschaeftsfuehrer, Strasse, PLZ, Ort, Land, Telefon, Handy, Fax, E-Mail, Handelsregisternummer, Steuernummer, Website, Kundennummer) VALUES ('BCS','Michael Bernhardt','AltHausen 34','63345','Frankfurt','Deutschland','0614435','663449783','54353','bfv@gmx.com','','545','5245','543)
MySQL meldet:

#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 '-Mail, Handelsregisternummer, Steuernummer, Website, Kundennummer) VALUES ('BCS'' at line 1
Bitte warten ..
Mitglied: Cayman
20.02.2006 um 17:04 Uhr
Werde aus der FM nicht schlau abgesehen davon das bei den Values zwischen E-Mail und Handelsregisternummer kein Wert steht.
Bitte warten ..
Mitglied: Dani
20.02.2006 um 17:07 Uhr
Probier mal das hier:


INSERT INTO kunden (Firmenname, Geschaeftsfuehrer, Strasse, PLZ, Ort, Land, Telefon, Handy, Fax, E-Mail, Handelsregisternummer, Steuernummer, Website, Kundennummer) VALUES ('BCS','Michael Bernhardt','AltHausen 34','63345','Frankfurt','Deutschland','0614435','663449783','54353','bfv@gmx.com','','545','5245','543');
Bitte warten ..
Mitglied: Cayman
20.02.2006 um 17:10 Uhr
Leider kein Glück gehabt.

MySQL meldet:

SQL-Befehl:

INSERT INTO kunden( Firmenname, Geschaeftsfuehrer, Strasse, PLZ, Ort, Land, Telefon, Handy, Fax, E - Mail, Handelsregisternummer, Steuernummer, Website, Kundennummer )
VALUES (

'BCS', 'Michael Bernhardt', 'AltHausen 34', '63345', 'Frankfurt', 'Deutschland', '0614435', '663449783', '54353', 'bfv@gmx.com', '', '545', '5245', '543'
)
MySQL meldet:

#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 '-Mail, Handelsregisternummer, Steuernummer, Website, Kundennummer) VALUES ('BCS'' at line 1
Bitte warten ..
Mitglied: Cayman
20.02.2006 um 17:13 Uhr
Was ich nicht verstehe, was vielleicht auch das Problem ist...

Folgende doppelte Anführungszeichen sollen doch bedeuten das nichts eingegeben wurde korrekt?

'bfv@gmx.com', '', '545'

Zwischen der E-Mail Adresse und der 545.

Witzig ist nur das ich alle Felder ausgefüllt habe und ich sehe beim Eingabeformular das das Feld E-Mail eine andere Farbe hat als der Rest..... ?
Bitte warten ..
Mitglied: Dani
20.02.2006 um 17:14 Uhr
Du musst aus dem Feld "E - Mail" -> email machen!!!

INSERT INTO kunden(Firmenname, Geschaeftsfuehrer, Strasse, PLZ, Ort, Land, Telefon, Handy, Fax, email, Handelsregisternummer, Steuernummer, Website, Kundennummer)
VALUES ('BCS', 'Michael Bernhardt', 'AltHausen 34', '63345', 'Frankfurt', 'Deutschland', '0614435', '663449783', '54353', 'bfv@gmx.com', NULL, '545', '5245', '543');
Bitte warten ..
Mitglied: Cayman
20.02.2006 um 17:21 Uhr
ALLES KLAR!

Das war das Problem. Offensichtlich kommt mySQL nicht mit Feldbezeichnungen inclusive Minuszeichen klar. Nachdem ich das Feld umbenannte in EMail und den Code anpasste klappt es jetzt.

Besten Dank Dani für Deine Zeit!!

Gruss
Marc
Bitte warten ..
Mitglied: Dani
20.02.2006 um 17:25 Uhr
Kleine Denkanregung. Spaltennamen immer klein. Nie Sonderzeichen sondern nur buchstaben und zahlen.

Viel Spaß!!
Gruß
Dani
Bitte warten ..
Mitglied: Biber
20.02.2006 um 17:28 Uhr
..Ergänzung zu Dani:
$handelsregister = $_POST["handeslregister"]; --->sieht nach Tippfehler aus

und in der INSERT INTO-Anweisung heißt es falsch handelsregisternummer.

Und Feld "E - Mail" und auch "E-Mail" sind sicherlich falsch - Alle Werte in der ersten Klammer müssen vom Namen her mit den tatsächlichen Feldnamen identisch sein und in Reihenfolgen und Anzahl mit denen der VALUES-Klammer korrespondieren.

Gruß Biber
Bitte warten ..
Mitglied: 25768
01.04.2006 um 15:42 Uhr
Hallo,

auch wenn ich selbst kleingeschriebene zusammenhängende Colums benutze, möchte ich der Vollständigkeit halber noch hinzufügen, dass das Feld
E - Mail
kein Problem ist, insofern man es als String schreibt :

'E - Mail'
`E - Mail`
"E - Mail" (aufpassen auf ANSI_QUOTES)

http://dev.mysql.com/doc/refman/5.0/en/legal-names.html

GruÃ?
Andi
Bitte warten ..
Ähnliche Inhalte
Webbrowser
gelöst Daten in entfernte Mysql DB schreiben (3)

Frage von nullacht15 zum Thema Webbrowser ...

Verschlüsselung & Zertifikate
Zugriff auf mySQL-DB mit ODBC und SSL (2)

Frage von Titan24 zum Thema Verschlüsselung & Zertifikate ...

Apache Server
gelöst Fehler beim Import einer DB vom anderen MySQL-Server (2)

Frage von zeroblue2005 zum Thema Apache Server ...

Datenbanken
gelöst MySQL Function Anzahl Datensätze ermitteln (4)

Frage von MultiStorm zum Thema Datenbanken ...

Neue Wissensbeiträge
Humor (lol)

Wohnt jemand in Belgien und kann nicht mehr ruhig ausschlafen?

(4)

Information von LordGurke zum Thema Humor (lol) ...

Sicherheits-Tools

Trendmicro OSCE und das Fall Creators Update Win10 RS3

(3)

Information von Henere zum Thema Sicherheits-Tools ...

Microsoft Office

Text in Zahlen umwandeln

Tipp von logische zum Thema Microsoft Office ...

Heiß diskutierte Inhalte
Microsoft Office
ICH BIN AM ENDE MEINES IT-WISSENS ANGELANGT!!!! (38)

Frage von 134537 zum Thema Microsoft Office ...

Windows Server
Gruppenrichtlinie greift nicht zu! (24)

Frage von Syosse zum Thema Windows Server ...

Hosting & Housing
Mailserver Software Empfehlungen (21)

Frage von sunics zum Thema Hosting & Housing ...

Voice over IP
DeutschlandLAN IP Voice Data M Premium, Erfahrung mit Faxgeräte? (16)

Frage von liquidbase zum Thema Voice over IP ...