Wie füge ich ein Sonderzeichen wie 'in MySQL ein?

8

Ich führe die Abfrage insert von einem Shell-Skript aus, das Daten von mehreren Dateien liest. Einige der einzufügenden Daten enthalten ' im Text und MySQL gibt weiterhin Fehler

%Vor%

Dies ist der eigentliche Text: Women's Development & Empowerment, Youth Affairs .

    
charan 26.01.2011, 10:13
quelle

5 Antworten

14

Sie müssen dem Zitat wie folgt entkommen:

%Vor%

Beachten Sie, dass wenn Sie die SQL-Anweisung aus einer Sprache wie PHP generieren, gibt es Funktionen, die dies für Sie tun können.

In PHP gibt es zum Beispiel mysql_real_escape_string , was kümmert sich darum für dich. Beachten Sie, dass vorbereitete Aussagen vorzuziehen sind, da es schwieriger ist, diese falsch zu verstehen.

Siehe auch:

Sebastian Paaske Tørholm 26.01.2011, 10:17
quelle
3

Sie müssen die Eingabezeichenfolgen vor dem Übergeben an MySql umgehen.

Die Liste der Escape-Zeichen lautet:

%Vor%     
RobinG 26.01.2011 10:20
quelle
1

Sie müssen das Zeichen mit einem umgekehrten Schrägstrich \

verlassen

Frauenentwicklung & amp; Empowerment, Jugendangelegenheiten

    
sissonb 26.01.2011 10:17
quelle
1

Sie müssen Ihrem Angebot entkommen. Sie können dies tun, indem Sie es in Ihrer Einfügeabfrage verdoppeln; d. h. Verwenden Sie "eher als". Das sind zwei einfache Anführungszeichen anstelle eines einzelnen doppelten Zitats.

    
borrible 26.01.2011 10:17
quelle
0

Was ist die serverseitige Sprache, die Sie verwenden?

es gibt viele Methoden, durch die Sie String entkommen können, ich werde das bevorzugen!

ZB: Sie können mysql_escape_string die Daten verwenden, die Sie in die Abfrage eingeben, so dass automatisch Zeichenfolgen wie " ' "

entfernt werden

mysql_escape_string ist ein php function sofern Sie php

verwenden     
Harish 26.01.2011 10:23
quelle

Tags und Links