Dirk Dreisatz: Suche und ersetze

Hallo,

ich habe gefühlte Millionen von Dateien nach dem Motto

  
$result_xy = mysql_query($query_xy);  
if ($result_xy == FALSE) {  
func_error();  
}  

programmiert.

Jetzt würde ich der Funktion func_error() gerne die entsprechende Query als Parameter mitgeben, um im Fehlerfall sozusagen einen Fehler-Log zu haben.

Nachdem ich die ersten 10 Dateien manuell editiert habe, weiß ich, dass das zu mühselig ist. Nun habe ich ein "suche und ersetze script" geschrieben, aber das arbeitet bisher nicht ganz korrekt.

Bevor ich einzelne Fragen zum Script stelle, würde mich interessieren, wie andere dieses "Problem" angegangen wären. Wie würdet Ihr im Nachhinein der Funktion die Query mitgeben? Auf eventuelle mysql-Fehlerlogs habe ich leider keinen Zugriff, lediglich der Slow Query Log ist vorhanden.

Schönen Gruß, Dirk

  1. Hallo,

    ich habe gefühlte Millionen von Dateien nach dem Motto

    $result_xy = mysql_query($query_xy);
    if ($result_xy == FALSE) {
    func_error();
    }

    
    >   
    > programmiert.  
    >   
    > Jetzt würde ich der Funktion func\_error() gerne die entsprechende Query als Parameter mitgeben, um im Fehlerfall sozusagen einen Fehler-Log zu haben.  
    >   
    
    ...  
      
    
    >   
    > Schönen Gruß, Dirk  
      
    Hallo,  
      
    mal ganz dumm gefragt: Warum gibst du die Query nicht direkt als String der Funktion mit?  
      
    ~~~php
    $result_xy = mysql_query($query_xy);  
    if ($result_xy == FALSE)  
    {  
      func_error($query_xy);  
    }
    
    1. $result_xy = mysql_query($query_xy);

      if ($result_xy == FALSE)
      {
        func_error($query_xy);
      }

        
      Ich nehme an, genau das will er ja :)  
      Mein Editor kennt "Suchen und ersetzen in Dateien...". Damit kann man das schnell erledigen.  
        
      OS: Win  
      Programm: PSPad  
      Menü: Suchen  
        
      Cheers,  
      Baba
      
      1. Ich nehme an, genau das will er ja :)

        So ist es.

        Mein Editor kennt "Suchen und ersetzen in Dateien...". Damit kann man das schnell erledigen.

        Sowas habe ich auch alles.
        Aber wie willst Du dem Editor sagen, dass er die Variable (wie immer auch diese dort heißt) 2,3,4 oder 14 Zeilen darüber nehmen soll?

        Gruß, Dirk

      2. Tach!

        Mein Editor kennt "Suchen und ersetzen in Dateien...". Damit kann man das schnell erledigen.

        Das Problem wird vermutlich sein, dass die Query-Variable nicht einheitlich benannt ist. Dann wird es schwer mit Suchen und Ersetzen. Wenn sich die Ersetzungshandlung durch eine gleichbleibende Folge von Tastendrücken ausführen lässt, könnte man zumindest halbautomatisch ein globales Suchen nebst einem aufgezeichneten Macro verwenden. Notepad++ kann sowas.

        dedlfix.

        1. Das Problem wird vermutlich sein, dass die Query-Variable nicht einheitlich benannt ist.

          Nein, nicht.
          Hätte ich das denn können? ich frage, weil ich teilweise 3-4 Queries hinternander weg schreibe und die später erst gebrauche. Da würde ich mit gleichbleibenden Variablen ja einen schönen Salat machen?
          Außerdem sind die Query-Variablen teilweise mein  Ersatz für einen Kommentar. So wird für mich der Code lesbarer, auch wenn ich wenige Kommentare benutze.

          Dann wird es schwer mit Suchen und Ersetzen. Wenn sich die Ersetzungshandlung durch eine gleichbleibende Folge von Tastendrücken ausführen lässt, könnte man zumindest halbautomatisch ein globales Suchen nebst einem aufgezeichneten Macro verwenden. Notepad++ kann sowas.

          Das wäre zwar möglich gewesen, sicher auch sinnvoll, aber: Nope. Auch das ist nicht der Fall.

          Gruß, Dirk

          1. Tach!

            Hätte ich das denn können? ich frage, weil ich teilweise 3-4 Queries hinternander weg schreibe und die später erst gebrauche. Da würde ich mit gleichbleibenden Variablen ja einen schönen Salat machen?

            So kannst du sie natürlich nicht gleich benennen. Aber das musst du selbst wissen, ob solch ein Vorgehen für dich von Vorteil ist oder das Beieinanderstehen von Variable und Query-Funktion. Dafür gibt es kein Patentrezept. Manchmal muss man die Query aufwendig zusammenbauen, manchmal ist sie ein feststehender String.

            Bei solchen Unregelmäßigkeiten wirst du vielleicht zu Fuß schneller fertig sein, als wenn du dir ein Programm dafür schreibst.

            dedlfix.