Wechseln große website von MySQL auf MySQLi
Ich möchte wechseln von MySQL auf MySQLi, aber ich habe eine sehr große website.
Habe ich gelesen, dass https://wikis.oracle.com/display/mysql/Converting+zu+MySQLi mir helfen könnte, und ich lese Wie könnte ich dies ändern, mysql zu mysqli?. Es sagt, dass ich ersetzen könnte, die meisten Funktionen nur mit dem hinzufügen eines "i", um die Funktion, und dass ich beginnen sollte, fehlerjäger.
Aber meine website ist sehr Komplex und groß, und es würde eine sehr lange Zeit, um zu überprüfen, ob alles funktioniert. Also: was ist der beste Weg zum wechseln von MySQL auf MySQLi für eine sehr große website?
Dank!
- es ist nicht einfach Weg. müssen, überprüfen Sie alle scripts und ersetzen Sie Aufrufe. und zu testen.
- haben Sie Tester?
- Was sind die wichtigsten Dinge, die geändert? Nur die Parameter und die Namen der Funktionen? Und Nein, ich habe nicht viel-Tester...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gibt es keine einfache Antwort auf deine Frage, wie praktisch jedes einfache Möglichkeit, dies zu tun beteiligt, die Dinge anders, wenn die Anwendung geschrieben wurde.
Wenn Sie direkte Aufrufe von mysql_* - Funktionen in Ihrem gesamten code und keine Datenbank-Abstraktions-Schicht, wo Sie Ihre Abfragen über eine helper-Klasse oder-Funktion, dann werden Sie Bearbeiten müssen, müssen Sie jeden Befehl.
Können Sie nicht nur Weg mit dem hinzufügen von ein ich auf Befehle wie mysql_query als prozedural
mysqli_query()
benötigt der erste parameter der link zur db, wo mitmysql_query()
wenn eine Verbindung gegeben wurde, es war einen zweiten parameter.Anstatt nur zu ändern mysql_query(...) an mysqli_query($link,.....) Ich würde empfehlen, dass es keine bessere Zeit, um ein db abstraction layer in place. So verwenden Sie Funktionen wie zB sql_query (), die eigentlich Bearbeitung Ihrer Anfragen, so dass in Zukunft, wenn Sie Sie brauchen, um die DB wieder Sie können nur aktualisieren, die db-spezifischen Befehle in einer Abstraktion Datei. So, wenn Sie eine Funktion schreiben, wraps mysqli_query dann könnten Sie in der Lage, benennen Sie einfach Ihre mysql_query (), um dein Helfer-Funktion und lassen Sie die Hilfsfunktion Gedanken darüber machen, dass der link dort.
Während das ist der einfachste Weg, es wird keine bind-Parameter oder-prepare-Anweisungen, die ein wichtiger Faktor bei der Verhinderung von sql-injection-Schwachstellen
Sobald Sie Sie geändert haben, werden alle diese Befehle, die Sie brauchen, um zu testen.
Haben Sie keine automatisierten tests geschrieben, dann ist dies wahrscheinlich ein guter Zeitpunkt, um zu starten, Sie zu schreiben. Selbst wenn Sie benötigen, um zu überprüfen, dass jede änderung gearbeitet hat, wenn man es mit der automatisierten testen, dann kann man vermeiden, dass Schmerzen in der Zukunft.
mysql_*
Anrufe sofort. Vielen Dank im Vorausdu nimmst rechts bewegen, weil die mysql_* - Funktion als veraltet markiert sind, für die neueste php-version. sollten Sie herunterladen einen Konverter für diesen Zweck...
sehen und herunterladen...mysql auf mysqli