5. Oktober 201015 j Hi, ich möchte einen String mit Semikolon als Trennzeichen zerlegen. Das Semikolon soll allerdings nur dann als Trennzeichen erkannt werden, wenn es nicht zwischen zwei Singlequotes steht. Singlequotes können mit escaped werden durch ein Backslash. Ein Backslash kann durch ein Backslash escaped werden. Einfache RegExen bekomm ich zwar hin, aber sowas geht über meine kenntnisse weit hinaus. Kann mir da lemand bei helfen? Hintergrund des Ganzen ist, dass ich mehrere Querys in einem String habe, die durch Semikolon getrennt sind. Die Funktion multi_query kenne ich. Leider ist mir bei jedem Versuch damit die CPU Auslastung auf 100% gegangen und der Server hat nicht mehr reagiert. (Nein, es liegt nicht an einer zu langsammen CPU)
6. Oktober 201015 j Das Semikolon soll allerdings nur dann als Trennzeichen erkannt werden, wenn es nicht zwischen zwei Singlequotes steht. $pattern = "[^']\s*;\s*[^']" [/PHP] Singlequotes können mit escaped werden durch ein Backslash. Ein Backslash kann durch ein Backslash escaped werden. Was ist erlaubt und was nicht? Ich sehe da nicht durch. Die Funktion multi_query kenne ich. Ich kenne diese Funktion nicht. Hast du denn Select-Statements oder nur UPDATES und INSERTs?
6. Oktober 201015 j Zitat von Callam Beitrag anzeigen Die Funktion multi_query kenne ich. Ich kenne diese Funktion nicht. multi_query stammt aus mysqli Gruß Lit-Web
10. Oktober 201015 j $pattern = "[^']\s*;\s*[^']" [/PHP] Naja, damit macht es genau - was er nicht will.... zumal damit noch Zeichen verloren gehen. Mit nur - einmal kurz preg_split benutzen ist es leider nicht getan.
13. Oktober 201015 j @etreu die letzte query ist immer ein select... die querys davor können sein: create temporary table ...drop temporary table ...update ...insert ...delete ... das ganze hat den sinn, dass joins zu langsamm sind und ich mir deswegen vor der select-Anweisung alles mit temporären tabellen zusammenbaue was ich brauche @raiserle befürchte ich auch so langsam, nur habe ich leider keine idee wo ich da anfangen soll vllt kennt auch jemand was fertiges wo das problem schon gelöst wurde? hab schon in den quellcodes von phpmyadmin gesucht, aber leider nicht mit großem erfolg ist zu umfangreich als dass ich mich da zurecht finden würde
14. Oktober 201015 j Was fertiges kenne ich nicht. Wenn ich das bauen müsste - würde ich anfangen.... Erstmal die geQuoteten Strings rauszuschupsen. 'Hier ; soll das Semikolon im String stehen' ; 'Und das vorhergehnende soll als Trenner dienen' ; usw... ; usw... Wenn du die gequoteten Strings hast, bleibt ja nur das Semikolon als Trenner über ! So viel zur Überlegung. Den RegEx musst du nun noch schreiben lG ps. .*? sollte helfen Bearbeitet 14. Oktober 201015 j von raiserle Nachtrag
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.