37 lines
1.2 KiB
Bash
Executable File
37 lines
1.2 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Zählt die Anzahl der bearbeiteten Dateien
|
|
count=0
|
|
echo "Starte rekursive PHP-MySQLi-Aktualisierung..."
|
|
echo "----------------------------------------"
|
|
|
|
# 'find' sucht rekursiv nach allen .php-Dateien
|
|
find . -type f -name "*.php" | while IFS= read -r file
|
|
do
|
|
echo "Bearbeite Datei: $file"
|
|
|
|
# 1. Einbindung Datenbankverbindung entfernen
|
|
sed -i '/\$ezine_db = ezine_connecte_db();/d' "$file"
|
|
|
|
# 2. SQL-Query ersetzen - IN ZWEI SCHRITTEN
|
|
# WICHTIG: Zuerst den spezifischen Fall mit ZWEI Argumenten ersetzen.
|
|
# Hier wird der zweite Parameter ($ezine_db) effektiv entfernt.
|
|
sed -i 's/mysql_query *(\([^,)]*\) *, *\$ezine_db *)/\$conn->query(\1)/g' "$file"
|
|
|
|
# NEU: Danach den allgemeinen Fall mit EINEM Argument ersetzen.
|
|
# Dieser Befehl fängt alles innerhalb der Klammern von mysql_query auf und
|
|
# packt es in $conn->query().
|
|
sed -i 's/mysql_query(\(.*\))/\$conn->query(\1)/g' "$file"
|
|
|
|
# 3. Result-Verarbeitung ersetzen
|
|
sed -i 's/mysql_fetch_object/mysqli_fetch_object/g' "$file"
|
|
|
|
# 4. Zeilen zählen ersetzen
|
|
sed -i 's/mysql_num_rows/mysqli_num_rows/g' "$file"
|
|
|
|
((count++))
|
|
done
|
|
|
|
echo "----------------------------------------"
|
|
echo "✅ Fertig! Insgesamt wurden $count Dateien in allen Verzeichnissen bearbeitet."
|