PHP und MySQL - Probleme mit Datenbank
Übersicht

TritiumBetreff: PHP und MySQL - Probleme mit Datenbank |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Zunächst mal war ich mir nicht sicher, ob das hierhin gehört, also bitte verschieben, wenns nicht passt!
Nun zu meinem Problem: Ich bin im Moment dabei, mir ne Website aufzubauen (http://tritium.zxq.net). Klappt auch alles soweit, nur mit der Datenbank hab ich ein Problem. Ursprünglich war es folgendermaßen gedacht: Unter Kontakt kann man das Formular ausfüllen, worauf ein PHP-Script ausgeführt wird, welches das Formular an meine Mailadresse schickt. Da der Server, auf dem die Seite liegt, aber keine Mails erlaubt, hab ich mir folgendes überlegt: Ich lasse die Werte in eine MySQL-Datenbank schreiben. Also hab ich mir eine Datenbank erstellt, dadrin wiederum eine Tabelle mit dem Namen feedback (klein geschrieben). Ich hab auch bereits über PHPminiAdmin Werte in die Tabelle eingetragen, das funktioniert. Die wichtigen Zeilen meines Scripts sehen so aus: Code: [AUSKLAPPEN] $query = 'insert into feedback(betreff,msg,email) values(\"'.$vbetreff.'\",\"'.$vnachricht.'\",\"'.$vemail'\")';
mysql_query($query); Davor wurden noch die Variablen initialisiert und eine Verbindung aufgebaut. Das funktioniert alles, die Verbindung wird aufgebaut und die Variablen haben an dieser Stelle auch den richtigen Wert, hab ich bereits ausprobiert. Allerdings bekomm ich folgende Fehlermeldung: Code: [AUSKLAPPEN] Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in /www/zxq.net/t/r/i/tritium/htdocs/data/response.php on line 25
Zeile 25 ist die mit $query = ... Was mach ich falsch? |
||
![]() |
Geeecko |
![]() Antworten mit Zitat ![]() |
---|---|---|
Musst du nicht:
Code: [AUSKLAPPEN] values(\"'.$vbetreff.'\",\"'.$vnachricht.'\",\"'.$vemail'\")';
-> Code: [AUSKLAPPEN] values(\"'".$vbetreff."'\",\"'".$vnachricht."'\",\"'".$vemail."'\")'; (Der Punkt fehlte glaub ich)
EDIT: Habe falsch gedacht... so wie dus gemacht hast gehts, aber trotzdem fehlt der Punkt bei vemail.^^ |
||
Tritium |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
So, der Punkt fehlt jetzt nicht mehr ![]() Ich bekomm jetzt zwar keinen Fehler mehr, trotzdem wird in die Tabelle nichts eingetragen. Der Benutzer, über den eingetragen wird (bzw. werden soll... ![]() |
||
![]() |
Geeecko |
![]() Antworten mit Zitat ![]() |
---|---|---|
Führ den Befehl doch mal in MyPhpAdmin da aus. Einfach oben auf SQL klicken,
oder war das das, was du schon probiert hast? |
||
![]() |
Smily |
![]() Antworten mit Zitat ![]() |
---|---|---|
Lass dir mal den Mysql-query ausgeben.
die Doppel-Hochkomma musst du nicht escapen, da dein Query ja in einfachen hochkommas steht. |
||
Lesestoff:
gegen Softwarepatente | Netzzensur | brain.exe | Unabhängigkeitserklärung des Internets "Wir müssen die Rechte der Andersdenkenden selbst dann beachten, wenn sie Idioten oder schädlich sind. Wir müssen aufpassen. Wachsamkeit ist der Preis der Freiheit --- Keine Zensur!" stummi.org |
![]() |
ProfJakeehemals "DTC" / "Fabian Niemann" |
![]() Antworten mit Zitat ![]() |
---|---|---|
Probier's mal damit:
Code: [AUSKLAPPEN] $query = 'INSERT INTO feedback(betreff,msg,email) VALUES(\''.$vbetreff.'\',\''.$vnachricht.'\',\''.$vemail'\');'; Aber denk daran die Variablen mit mysql_real_escape_string() zu sichern. |
||
Tritium |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Meister_Dieb hat Folgendes geschrieben: Führ den Befehl doch mal in MyPhpAdmin da aus. Einfach oben auf SQL klicken,
oder war das das, was du schon probiert hast? Da gehts, wenn ich die Variablen durch Strings ersetze. Die Variablen in dem Script haben aber trotzdem die richtigen Werte. pupil hat Folgendes geschrieben: Aber denk daran die Variablen mit mysql_real_escape_string() zu sichern.
Sry, aber was heißt das? Ich programmiere erst seit gestern mit PHP ![]() |
||
![]() |
D2006Administrator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] mysql_query( '...' );
echo mysql_error(); |
||
Intel Core i5 2500 | 16 GB DDR3 RAM dualchannel | ATI Radeon HD6870 (1024 MB RAM) | Windows 7 Home Premium
Intel Core 2 Duo 2.4 GHz | 2 GB DDR3 RAM dualchannel | Nvidia GeForce 9400M (256 MB shared RAM) | Mac OS X Snow Leopard Intel Pentium Dual-Core 2.4 GHz | 3 GB DDR2 RAM dualchannel | ATI Radeon HD3850 (1024 MB RAM) | Windows 7 Home Premium Chaos Interactive :: GoBang :: BB-Poker :: ChaosBreaker :: Hexagon :: ChaosRacer 2 |
![]() |
Smily |
![]() Antworten mit Zitat ![]() |
---|---|---|
Tritium hat Folgendes geschrieben: Meister_Dieb hat Folgendes geschrieben:
Führ den Befehl doch mal in MyPhpAdmin da aus. Einfach oben auf SQL klicken,
oder war das das, was du schon probiert hast? Da gehts, wenn ich die Variablen durch Strings ersetze. Die Variablen in dem Script haben aber trotzdem die richtigen Werte. pupil hat Folgendes geschrieben: Aber denk daran die Variablen mit mysql_real_escape_string() zu sichern.
Sry, aber was heißt das? Ich programmiere erst seit gestern mit PHP ![]() wie schon gesagt, lass dir den query mal mit echo ausgeben. MySQL-Real-Escape-String ist dafür da, um Injektionslücken vorzubeugen. |
||
Lesestoff:
gegen Softwarepatente | Netzzensur | brain.exe | Unabhängigkeitserklärung des Internets "Wir müssen die Rechte der Andersdenkenden selbst dann beachten, wenn sie Idioten oder schädlich sind. Wir müssen aufpassen. Wachsamkeit ist der Preis der Freiheit --- Keine Zensur!" stummi.org |
Tritium |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Smily0412 hat Folgendes geschrieben: die Doppel-Hochkomma musst du nicht escapen, da dein Query ja in einfachen hochkommas steht.
Komisch, jetzt funktionierts ohne Probleme und Fehlermeldungen ![]() Dankeschön an alle! |
||
![]() |
ProfJakeehemals "DTC" / "Fabian Niemann" |
![]() Antworten mit Zitat ![]() |
---|---|---|
Nicht so voreilig!
Erstmal klickst du HIER und dann baust du das ein: Code: [AUSKLAPPEN] $query = 'INSERT INTO feedback(betreff,msg,email) VALUES(\''.mysql_real_escape_string($vbetreff).'\',\''.mysql_real_escape_string($vnachricht).'\',\''.mysql_real_escape_string($vemail).'\');'; mysql_real_escape_string() Sonst passieren irgendwann so merkwürdige Dinge wie gelöschte User, Tabellen etc. |
||
Tritium |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hab ich gemacht, danke nochmal! | ||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group