Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Codefehler beim Wechsel von mysql zu mysqli

Dieser Fehler wird durch das Leerzeichen vor dem ( verursacht in Ihrem mysql_connect() Forderung. Ersetzen Sie es durch $conn=mysql_connect("$localhost", "$dbusername", "$dbpass"); entfernt diese Warnausgabe von MySQLConverterTool.

Die verbleibenden zwei Fehler sind Dinge, die Sie behandeln sollten, indem Sie sich selbst den Unterschied zwischen mysql_connect() und mysqli_connect() . mysql_connect() das erste Argument von , $server , kann wie folgt formatiert werden:hostname:port wohingegen mit mysqli_connect() Sie würden nur hostname übergeben zu seinem ersten Argument und übergibt port als optionaler fünfter Parameter. Außerdem müssten Sie bei mysqli die Datenbank in mysqli_connect() angeben aufrufen, anstatt eine separate Funktion analog zu mysql_select_db() zu haben .

Ich schlage vor, dass Sie bei Bedarf das Konvertierungstool verwenden, um Ihren gesamten Quellcode von mysql nach mysqli umzuwandeln, außer für diese Zeilen mit den darin enthaltenen Warnungen. Nur Sie wissen, welches Format "$localhost" hat hereinkommt:Wenn es Portinformationen enthalten könnte, müssen Sie die Portinformationen heraustrennen. Wahrscheinlich sollten Sie die zu verwendende Datenbank in mysqli_connect() einstellen anstatt das automatische USE $db des Konverters zu verwenden Scheibe. Das ist genau das, was der Konverter Ihnen sagen will :-).

Nur um festzuhalten, ich würde nicht sagen:

Das Obige deutet darauf hin, dass der vom Konverter generierte PHP-Code selbst zur Laufzeit PHP-Warnungen und -Fehler ausgibt (nicht, dass sich der Konverter über Ihren ursprünglichen Code beschwert oder Sie darüber informiert, dass Sie tatsächlich eine manuelle Konvertierung durchführen müssen, wie ich oben besprochen habe). . Deshalb haben wir nach Fehlern wie dem einmal fehlenden Semikolon gesucht, das Sie korrigiert haben.