mySQL Query aus externer Datei - Probleme mit Anführungszeichen

SonMiko

Erfahrenes Mitglied
Hallo zusammen,

ich möchte eine Art "Installationskit" für ein CMS programmieren.
Hierbei ist es notwendig eine Längere SQL-Datei zu verarbeiten.
Das ganze klappt auch sehr gut, allerdings bricht die Verarbeitung
an einer Stelle ab weil der Query String an besagter Stelle so etwas enthält:
Code:
'xyz(s:13:"administrator")'
Nicht genau so, aber sinngemäß. Das Problem liegt hierbei auf der Hand:
Php hat Probleme wenn der String einfache und doppelte Anführungszeichen verwendet,
da es selbst dann das Ende und den Anfang vom String nicht mehr finden kann.

Nicht geholfen hat das Escapen der doppelten Anführungszeichen mit str_replace('"','\"',$string)...

Hat hier jemand einen Vorschlag?

Viele Grüße,

Mike
 
wenn du doppelte Anführungszeichen am Anfang nimmst immer drinnen einfache und umgekehrt...

wenn du den Problemcode Postest wüsste ich auch wie das Problem aussieht...
 
Nein das löst das Problem leider nicht:
Es ist so, dass in dem Query-String, also in dem SQL-Statement, dass ich mir exportiert habe,
sowohl einfach als auch doppelte Anführungszeichen enthalten sind.
Ich habe bereits versucht zu escapen, was aber zu keinem Erfolg gehührt hat.
 
@TO
Auch wenn das jetzt OT ist ... aber findest du nicht das ein PUSH nach 1 1/2 h nicht doch etwas zu weit geht ?
Bei 2 oder 3 Tagen kann man es noch halbwegs verstehen ... aber bei weniger als 12 h ist es wirklich mehr als unangemessen.
 
Oh ja, das geht eindeutig zu weit - 10 Tage später zu sagen dass etwas zu weit geht ist auch von erlesener Einmaligkeit. Ich bin in diesem Board schon recht lange angemeldet, länger als du beispielsweise - ich habe in den meisten Fällen immer schnell eine Antwort erhalten und antworte auch selbst zügig. Ja - eine Halbe Stunde Wartezeit ist vielleicht etwas übertrieben (an dem Tag kam mir die Halbestunde wahrscheinlich viel länger vor da ich dringend eine Lösung brauchte) - über eine brauchbare Antwort oder einen Lösungsvorschlag wäre ich aber dennoch dankbarer als über einen 10 tage verspäteten Hinweis der sich von selbst ergibt (s.o)...

P.S.: Was heisst TO und wofür soll OT stehen - ich habe einen eindeutigen Nickname, den du nutzen darfst, du hast (und das als Programmierer, so tippe ich vorsichtig mal) nicht verstanden dass es bei einer Message darauf ankommt, dass der Gegenüber diese versteht. Es geht nicht darum mit coolen Buchstabenkombos um sich zu werfen die man Googlen muss um sie zu begreifen. Verstehst du?
 
Zuletzt bearbeitet:
TO = Topic Opener = Thread-Ersteller
OT= Off-Topic
Das sind zwei eigentlich bekannte Kürzel in Foren-Systemen ... aber wie ichs von anderen schon mitbekommen habe : hier scheinbar noch nicht angekommen.
Was den Fakt "du bist schon länger registriert als ich" angeht : dann solltest du eigentlich wissen das PUSH-Posts generell unerwünscht sind ...
 
Zum Thema: Der String sieht nach JSON aus. Wenn du aus dem JSON erstmal korrekte PHP-Objekte erzeugst, sollte es auch kein Problem darstellen, die Sachen in eine DB zu pumpen. Du kannst da folgendermaßen rangehen:

PHP:
// $json_string beinhaltet das JSON
$json_string = 'xyz(s:13:"administrator")';

// Erstmal dekodieren
$php_objekt = json_decode($json_string);

// Dann in die DB pumpen...

Wenn es dir aber wirklich darum geht, die Zeichenkette, wie sie ist, in die Datenbank zu schreiben, könnte dir möglicherweise mysql_real_escape_string() weiterhelfen.
 

Neue Beiträge

Zurück