Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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, 4912 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 ..
Neuester Wissensbeitrag
Microsoft

Lizenzwiederverkauf und seine Tücken

(5)

Erfahrungsbericht von DerWoWusste zum Thema Microsoft ...

Ähnliche Inhalte
Webbrowser
gelöst Daten in entfernte Mysql DB schreiben (3)

Frage von nullacht15 zum Thema Webbrowser ...

Microsoft Office
gelöst Vorlagenpfad wird nicht übernommen Office 2013 (6)

Frage von Leo-le zum Thema Microsoft Office ...

Heiß diskutierte Inhalte
Windows Netzwerk
Windows 10 RDP geht nicht (16)

Frage von Fiasko zum Thema Windows Netzwerk ...

Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...

Microsoft Office
Keine Updates für Office 2016 (13)

Frage von Motte990 zum Thema Microsoft Office ...