Denne fejl er forårsaget af mellemrummet før (
i din mysql_connect()
opkald. Erstatter den med $conn=mysql_connect("$localhost", "$dbusername", "$dbpass");
fjerner denne advarselsoutput fra MySQLConverterTool.
De resterende to fejl er ting, du bør forholde dig til ved faktisk selv at se på forskellen mellem mysql_connect()
og mysqli_connect()
. mysql_connect()
's første argument, $server
, kan formateres som hostname:port
hvorimod med mysqli_connect()
du ville kun videregive hostname
til dets første argument og send port
som en valgfri femte parameter. Mysqli vil også have dig til at angive databasen i mysqli_connect()
kalde i stedet for at have en separat funktion analog med mysql_select_db()
.
Jeg foreslår, at du, hvis du har brug for det, bruger konverteringsværktøjet til at konvertere al din kildekode fra mysql til mysqli undtagen for disse linjer med advarslerne i dem. Kun du ved hvilket format "$localhost"
kommer ind:hvis det kan indeholde portoplysninger, skal du adskille portoplysningerne. Du bør sandsynligvis indstille databasen til brug i mysqli_connect()
i stedet for at bruge konverterens automatiske USE $db
shim. Dette er præcis, hvad konverteren forsøger at fortælle dig :-).
Bare for at bemærke, jeg vil ikke sige:
Ovenstående antyder, at PHP-koden, der genereres af konverteren, i sig selv afgiver PHP-advarsler og fejl under kørsel (ikke at konverteren klager over din originale kode eller informerer dig om, at du rent faktisk skal foretage en manuel konvertering, som jeg diskuterede ovenfor) . Det er grunden til, at vi ledte efter fejl som det engang manglende semikolon, som du rettede.