sql >> Databáze >  >> RDS >> Mysql

Chyba při změně kódu z mysql na mysqli

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.



  1. Jak funguje REGEXP_INSTR() v MariaDB

  2. Co když potřebuji velmi velké ID automatického přírůstku?

  3. Jak najdu umístění MySQL my.cnf

  4. Chyby oprávnění Mysql s „načíst data“