Nie ma łatwej odpowiedzi na twoje pytanie, ponieważ praktycznie każdy prosty sposób, aby to zrobić, polegał na robieniu rzeczy inaczej, gdy aplikacja została napisana.
Jeśli masz bezpośrednie wywołania funkcji mysql_* w całym kodzie i nie masz warstwy abstrakcji bazy danych, w której wykonujesz zapytania za pomocą klasy lub funkcji pomocniczej, będziesz musiał edytować każde polecenie.
Nie możesz po prostu uciec od dodania i do poleceń takich jak mysql_query jako proceduralnie mysqli_query()
wymaga, aby pierwszy parametr był linkiem do bazy danych, gdzie z mysql_query()
jeśli w ogóle podano połączenie, był to drugi parametr.
Zamiast po prostu zmienić mysql_query(...) na mysqli_query($link,.....) sugerowałbym, że nie ma lepszego czasu na umieszczenie warstwy abstrakcji db. Więc użyj funkcji, np. sql_query(), które faktycznie przetwarzają twoje zapytania, więc w przyszłości, jeśli będziesz musiał ponownie zmienić DB, możesz po prostu zaktualizować polecenia specyficzne dla bazy danych w jednym pliku abstrakcji. W ten sposób, jeśli napiszesz funkcję, która zawija mysqli_query, możesz po prostu zmienić nazwę mysql_query() na swoją funkcję pomocniczą i pozwolić funkcji pomocniczej martwić się o umieszczenie tam linku.
Chociaż jest to najprostszy sposób, nie wiąże parametrów ani nie przygotowuje instrukcji, co jest głównym czynnikiem zapobiegającym lukom w zabezpieczeniach wstrzykiwania sql
Po zmianie wszystkich tych poleceń musisz przetestować.
Jeśli nie masz napisanych testów automatycznych, to prawdopodobnie jest to dobry moment, aby zacząć je pisać. Nawet jeśli będziesz musiał sprawdzić, czy każda zmiana zadziałała, jeśli zrobisz to za pomocą automatycznego testu, możesz uniknąć tego bólu w przyszłości.