sql >> Databasteknik >  >> RDS >> Mysql

Byte från mysql till mysqli kodfel

Det här felet orsakas av utrymmet före ( i din mysql_connect() ringa upp. Ersätter den med $conn=mysql_connect("$localhost", "$dbusername", "$dbpass"); tar bort denna varningsutmatning från MySQLConverterTool.

De återstående två felen är saker som du bör ta itu med genom att faktiskt titta själv på skillnaden mellan mysql_connect() och mysqli_connect() . mysql_connect() s första argument, $server , kan formateras som hostname:port medan med mysqli_connect() du skulle bara skicka hostname till sitt första argument och skicka port som en valfri femte parameter. Mysqli skulle också be dig ange databasen i mysqli_connect() anrop istället för att ha en separat funktion analog med mysql_select_db() .

Jag föreslår att du, om du behöver, använder konverteringsverktyget för att konvertera all din källkod från mysql till mysqli utom för dessa rader med varningarna i dem. Bara du vet vilket format "$localhost" kommer in:om den kan innehålla portinformation måste du separera portinformationen. Du bör förmodligen ställa in databasen för användning i mysqli_connect() istället för att använda omvandlarens automatiska USE $db shim. Detta är precis vad omvandlaren försöker berätta :-).

Bara för att notera, jag skulle inte säga:

Ovanstående antyder att PHP-koden som genereras av omvandlaren i sig själv kastar PHP-varningar och fel vid körning (inte att omvandlaren klagar på din ursprungliga kod eller informerar dig om att du faktiskt måste göra en manuell konvertering som jag diskuterade ovan) . Det är därför vi letade efter fel som det en gång saknade semikolon som du korrigerade.



  1. Representerar datum, tider och intervall i PostgreSQL

  2. Sök i mysql-tabellen från sista raden

  3. Hur man får en rad i SQLite efter index (inte efter id)

  4. Introduktion till användardefinierade funktioner i SQL Server