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
GELÖST

Mehrere PHP-Variablen in SQL übergeben

Frage Entwicklung PHP

Mitglied: 74487

74487 (Level 1)

21.07.2009, aktualisiert 03.08.2009, 8271 Aufrufe, 4 Kommentare

Hallo,

eine Frage:

mysql_query("INSERT INTO customer_user (login, email, customer_id, pw, salutation, first_name, last_name, comments, valid_id, create_time, create_by, change_time, change_by, phone)
VALUES ("$to_sql_login, $to_sql_email, $to_sql_customer_id, $to_sql_passwd, $to_sql_salutation, $to_sql_first_name, $to_sql_last_name, $to_sql_comments, $to_sql_valid_id, $to_sql_create_time, $to_sql_create_by, $to_sql_change_time, $to_sql_change_by, $to_sql_phone")");

Geht das? Und wenn nicht, wie muss es richtig aussehen?

Danke.
Mitglied: dholtmeier
21.07.2009 um 13:58 Uhr
ja, das geht

die Anführungszeichen hinter VALUES, also nach der Klammer müssen weg. Bitte achte auch darauf, ob es bei einem Feld eine Zeichenkette ist oder eine Zahl (Feldinhalte bei einem Feld vom Typ Varchar brauchen ein ' als Trennzeichen, weil ja ein Komma auch noch zur Zeichenkette theoretisch mit dazu gehören könnte).

01.
mysql_query("INSERT INTO customer_user (login, email, customer_id, pw, salutation, first_name, last_name, comments, valid_id, create_time, create_by, change_time, change_by, phone) VALUES ($to_sql_login, $to_sql_email, $to_sql_customer_id, $to_sql_passwd, $to_sql_salutation, $to_sql_first_name, $to_sql_last_name, $to_sql_comments, $to_sql_valid_id, $to_sql_create_time, $to_sql_create_by, $to_sql_change_time, $to_sql_change_by, $to_sql_phone)");
Viele Grüße,
Daniel
Bitte warten ..
Mitglied: 74487
21.07.2009 um 14:36 Uhr
Hier mal eine grobe Übersicht über die Variablen:

$to_sql_login = $zerlegen[0]; (text)
$to_sql_email = "dummi@mail.de"; (text)
$to_sql_customer_id = $zerlegen[5]; (zahlen und zeichen)
$to_sql_passwd = "12345"; (zahlen)
$to_sql_salutation = "Firma"; (text)
$to_sql_firstname = $namezerlegen[0]; (text)
$to_sql_lastname = $namezerlegen[1]; (text)
$to_sql_comments = "St:".$zerlegen[0]." Obj:".$zerlegen[7]." S:".$zerlegen[6]." E:".$zerlegen[8].""; (text und zeichen)
$to_sql_validid = "1"; (zahl)
$to_sql_created_by = "1"; (zahl)
$to_sql_phone = $zerlegen[5]; (zahlen und zeichen)


ist mein Befehl dennoch richtig oder musst noch was geändert werden`?

MfG.
Bitte warten ..
Mitglied: dholtmeier
21.07.2009 um 14:55 Uhr
das spielt momentan keine große Rolle, die Zuweisung des Inhalts an die Variable.
Wichtig ist einfach, dass wenn in deiner MySQL-Datenbank ein Feld ist vom Typ VARCHAR, dann muss das auch beim INSERT INTO entsprechend angepasst werden, also vor der Variablen und nach der Variablen ein Apostroph einfügen (aber nur bei einer Zeichenkette!):

01.
<? 
02.
$sqlinsert="INSERT INTO Tabelle (Name, Alter) VALUES ('" . $to_sql_name . "', $to_sql_alter)"
03.
 
04.
mysql_query($sqlinsert); 
05.
?>
Wichtig ist noch, dass du den Inhalt einer Variablen auf Sonderzeichen prüfst, damit der SQL Befehl nicht kaputt geht bzw. SQL-Injection betrieben wird. Weil wenn innerhalb der Zeichenkette auch das ' vorkommt, dann dient das als Ende der Zeichenkette im SQL String und somit ist dieser dann fehlerhaft.
Schau dir dazu mal den Befehl mysql_escape_string() an: http://us.php.net/manual/en/function.mysql-escape-string.php

Viele Grüße,
Daniel
Bitte warten ..
Mitglied: 74487
21.07.2009 um 15:01 Uhr
Achso Achso das meinst du. Ich verstehe. Ja die sind alle richtig eingestellt.
Dachte schon man muss das bei der Übergabe auch erwähnen.

Damit sehe ich diesen Beitrag als gelöst.

Vielen Dank für deine Hilfe.

MfG, René.
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(4)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
PHP
gelöst HTML Dropdownmenü auslesen und in PHP als Variable übergeben (35)

Frage von ITFlori zum Thema PHP ...

Datenbanken
gelöst SQL - mehrere UPDATE-Anweisungen in einem String per vbs (4)

Frage von goodbytes zum Thema Datenbanken ...

PHP
gelöst PHP Dropdownmenü mit SQL-Abfrage (4)

Frage von tobmes zum Thema PHP ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

Windows Server
Server 2008R2 startet nicht mehr (Bad Patch 0xa) (18)

Frage von Haures zum Thema Windows Server ...

Outlook & Mail
Outlook 2010 findet ost datei nicht (18)

Frage von Floh21 zum Thema Outlook & Mail ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (17)

Frage von Unwichtig zum Thema Netzwerkmanagement ...