Menu schließen

PHP - INSERT INTO Frage

Frage: PHP - INSERT INTO Frage
(24 Antworten)


Autor
Beiträge 0
13
Hallo.

Ich versuche gerade ein Formular zu erstellen.
Dabei wird ein Text ($zitat) übergeben. Diesen Text möchte ich nachher in eine Tabelle einfügen. Der Befehl lautet so:

$query = "INSERT INTO db.zitate_eng (z_eng_zitat)
VALUES (`".$zitat."`)";

Das Funktioniert eigentlich auch ganz gut, es sei denn jemad gibt im Formular ein Sonderzeichen wie z.b. ` oder " ein. Wie kann ich das lösen?

Beispiel:

$zitat = "Let`s go!";

Anfrage fehlgeschlagen: 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 `s go!`)` at line 2

Das seltsame ist dass ich auch nach intensiver Googlesuche keine Antwort darauf gefunden habe, obwohl das ja, vor allem im englischen, sehr wichtig ist.

Ich hoffe jemand kann mir helfen!

Gruss
IamOnYourSide
Frage von IamOnYourSide (ehem. Mitglied) | am 26.12.2007 - 22:20


Autor
Beiträge 0
13
Antwort von Nightwalk (ehem. Mitglied) | 26.12.2007 - 23:14
Die funktion heißt:

mysql_escape_string
$zitat = mysql_escape_string($zitat)


Autor
Beiträge 0
13
Antwort von Nightwalk (ehem. Mitglied) | 26.12.2007 - 22:25
mh...spätestens morgen kann ich dir das beantworten..hab jetzt keine Zeit mehr....fals keine Antworten mehr eintreten...mussde nochn bissl warten...


Autor
Beiträge 0
13
Antwort von IamOnYourSide (ehem. Mitglied) | 26.12.2007 - 22:27
Danke, besser später als nie :D.


Autor
Beiträge 0
13
Antwort von Nightwalk (ehem. Mitglied) | 26.12.2007 - 22:31
$query = mysql_query("INSERT INTO db.zitate_eng (z_eng_zitat)
VALUES (`".$zitat."`)";


Autor
Beiträge 0
13
Antwort von Nightwalk (ehem. Mitglied) | 26.12.2007 - 22:34
versuchs mal damit...


Autor
Beiträge 0
13
Antwort von Nightwalk (ehem. Mitglied) | 26.12.2007 - 22:34
: $query = mysql_query("INSERT INTO db.zitate_eng (z_eng_zitat)
VALUES (`".$zitat."`)");


Autor
Beiträge 0
13
Antwort von IamOnYourSide (ehem. Mitglied) | 26.12.2007 - 22:41
leider nicht:

Anfrage fehlgeschlagen: Query was empty


Autor
Beiträge 0
13
Antwort von Nightwalk (ehem. Mitglied) | 26.12.2007 - 22:49
mh....hasde das 2 ausprobiert ?!


Autor
Beiträge 0
13
Antwort von Nightwalk (ehem. Mitglied) | 26.12.2007 - 22:52
in welche tabelle soll denn was eingetragen werden ?


Autor
Beiträge 0
13
Antwort von Nightwalk (ehem. Mitglied) | 26.12.2007 - 22:55
Wenn du nie antwortest kann ich dir auch net helfen....


Autor
Beiträge 0
13
Antwort von IamOnYourSide (ehem. Mitglied) | 26.12.2007 - 23:00
sorry... ich war am ausprobieren...

ja, ich hab beide versucht, und auch noch abgeändert... geht leider immer noch nicht...


Autor
Beiträge 0
13
Antwort von Nightwalk (ehem. Mitglied) | 26.12.2007 - 23:00
das kann nix werden wenn du das nicht so machst wie ich das schreibe -.-

mysql_query("use DATENBANK";
$result = mysql_query("insert into z_eng_zitat values(0,`".$zitat."`)";


Autor
Beiträge 0
13
Antwort von Nightwalk (ehem. Mitglied) | 26.12.2007 - 23:03
Diese Ani `s mussde halt ersetzen...


Autor
Beiträge 0
13
Antwort von Nightwalk (ehem. Mitglied) | 26.12.2007 - 23:04
du weißt das Anis ersetzt werden wenn du zb: ; ) schickst
natürlich ohne leerzeichen


Autor
Beiträge 0
13
Antwort von IamOnYourSide (ehem. Mitglied) | 26.12.2007 - 23:06
was kommt denn bei den smilies?

EDIT, oh sorry nicht gesehen


Autor
Beiträge 0
13
Antwort von Nightwalk (ehem. Mitglied) | 26.12.2007 - 23:07
die smilies mussde halt ensprechend ersetzen...


Autor
Beiträge 0
13
Antwort von IamOnYourSide (ehem. Mitglied) | 26.12.2007 - 23:10
Oh mann: Anfrage fehlgeschlagen: Query was empty

Da muss es doch irgend einen einfachen weg geben x(


Autor
Beiträge 0
13
Antwort von Nightwalk (ehem. Mitglied) | 26.12.2007 - 23:11
Versuch mal den string zu escapen....such mal danach, es sollte eine funktion geben die das macht


Autor
Beiträge 0
13
Antwort von Nightwalk (ehem. Mitglied) | 26.12.2007 - 23:12
das problem ist, dass das sonderzeichen ` in dem SQL Query eine Bedeutung hat, weil der String damit eingeschlossen ist und deswegen vorzeitig beendet wird.


Autor
Beiträge 0
13
Antwort von IamOnYourSide (ehem. Mitglied) | 26.12.2007 - 23:14
escapen? meinst du zeichen ersetzen?

Ja, das mit dem ` habe ich auch gedacht. Aber eigentlich sollte es ja erst wieder fertig sein wenn . " ` steht?


Autor
Beiträge 0
13
Antwort von Nightwalk (ehem. Mitglied) | 26.12.2007 - 23:14
Die funktion heißt:

mysql_escape_string
$zitat = mysql_escape_string($zitat)

Verstoß melden
Hast Du eine eigene Frage an unsere Informatik-Experten?

3 ähnliche Fragen im Forum: 0 passende Dokumente zum Thema:
> Du befindest dich hier: Support-Forum - Informatik
ÄHNLICHE FRAGEN:
  • MysQl Insert
    mysql_query("Insert into person(Name, Vorname, Geburtsdatum, Jahreseinkommen, EKS)values(".htmlspecialchars($nname).", "...
  • Datenbanken
    Bei einer Relation zwischen Tabelle Personen/Kunden und PLZ/Postleitzahl, wird die Postleitzahl nicht als Postleitzahl in die ..
  • Java Datei Klasse List
    Hallo! Hat iwer eine Java Datei zur Klasse List mit den einzelnen Methoden? Dokumentation der Klasse List Konstruktor ..
  • mehr ...