Tato chyba je způsobena mezerou před (
ve vašem mysql_connect()
volání. Nahrazení řetězcem $conn=mysql_connect("$localhost", "$dbusername", "$dbpass");
odstraní tento varovný výstup nástrojem MySQLConverterTool.
Zbývající dvě chyby jsou věci, se kterými byste se měli vypořádat tím, že se skutečně sami podíváte na rozdíl mezi mysql_connect()
a mysqli_connect()
. mysql_connect()
první argument $server
, lze formátovat jako hostname:port
zatímco s mysqli_connect()
předali byste pouze hostname
na jeho první argument a předejte port
jako volitelný pátý parametr. Pomocí mysqli byste také měli zadat databázi v mysqli_connect()
volání namísto samostatné funkce analogické k mysql_select_db()
.
Navrhuji, abyste v případě potřeby použili nástroj pro převod ke konverzi veškerého zdrojového kódu z mysql na mysqli kromě pro tyto řádky s varováními v nich. Pouze vy víte, jaký formát "$localhost"
přichází:pokud může obsahovat informace o portu, musíte informace o portu oddělit. Pravděpodobně byste měli nastavit databázi pro použití v mysqli_connect()
namísto použití automatického USE $db
konvertoru shim. To je přesně to, co se vám převodník snaží sdělit :-).
Jen pro poznámku bych neřekl:
Výše uvedené naznačuje, že kód PHP generovaný konvertorem sám o sobě hází varování a chyby PHP za běhu (ne že by si konvertor stěžoval na váš původní kód nebo vás informoval, že musíte skutečně provést nějakou ruční konverzi, jak jsem popsal výše) . Proto jsme hledali chyby, jako je kdysi chybějící středník, který jste opravili.