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ś.