Ten błąd jest spowodowany spacją przed (
w swoim mysql_connect()
połączenie. Zastąpienie go przez $conn=mysql_connect("$localhost", "$dbusername", "$dbpass");
usuwa to ostrzeżenie przez MySQLConverterTool.
Pozostałe dwa błędy to rzeczy, z którymi powinieneś sobie poradzić, samemu przyglądając się różnicy między mysql_connect()
i mysqli_connect()
. mysql_connect()
pierwszy argument , $server
, może być sformatowany jak hostname:port
podczas gdy z mysqli_connect()
przekazałbyś tylko hostname
do pierwszego argumentu i przekaż port
jako opcjonalny piąty parametr. Ponadto mysqli kazałby określić bazę danych w mysqli_connect()
wywołanie zamiast posiadania oddzielnej funkcji analogicznej do mysql_select_db()
.
Sugeruję, aby w razie potrzeby użyć narzędzia do konwersji, aby przekonwertować cały kod źródłowy z mysql na mysqli z wyjątkiem dla tych wierszy z ostrzeżeniami w nich. Tylko Ty wiesz, jaki format to "$localhost"
wejdzie:jeśli może zawierać informacje o porcie, musisz oddzielić informacje o porcie. Prawdopodobnie powinieneś ustawić bazę danych do użycia w mysqli_connect()
zamiast używać automatycznego USE $db
konwertera Podkładka. To jest dokładnie to, co konwerter próbuje Ci powiedzieć :-).
Uwaga, nie powiedziałbym:
Powyższe sugeruje, że kod PHP generowany przez konwerter sam w sobie generuje ostrzeżenia i błędy PHP w czasie wykonywania (nie chodzi o to, że konwerter narzeka na oryginalny kod lub informuje, że musisz dokonać ręcznej konwersji, jak omówiłem powyżej) . Dlatego szukaliśmy błędów, takich jak brakujący średnik, który poprawiłeś.