Mischen von MySQL-APIs in PHP
Die MySQL-PHP-API bietet zwei Schnittstellen für die Interaktion mit MySQL-Datenbanken: mysql_ und mysqli_. Obwohl es praktisch erscheinen mag, diese APIs zu mischen, wird von dieser Praxis dringend abgeraten.
APIs können nicht gemischt werden
Grundsätzlich sind mysql_ und mysqli_ separate APIs mit unterschiedlichen Architekturen und inkompatibel Ressourcentypen. Daher können Sie keine Funktionen von einer API auf Ressourcen verwenden, die von der anderen erstellt wurden.
Beispielfehler
Der bereitgestellte Beispielcode veranschaulicht das Problem beim Versuch, die beiden zu mischen APIs:
$con=mysql_connect("localhost", "root" ,"" ,"mysql"); if( mysqli_connect_errno( $con ) ) { echo "failed to connect"; }else{ echo "connected"; } mysqli_close($con); // Error: Incompatible resource type
Dieser Code versucht, mysqli_connect_errno() auf einer von mysql_connect() erstellten Ressource zu verwenden. Dies führt zu einer Nichtübereinstimmung.
Überprüfung der Verbindungsgültigkeit
Um zu überprüfen, ob eine Verbindung gültig ist, verwenden Sie die Fehlerberichtsfunktion der entsprechenden API:
Fazit
Es ist wichtig zu Beachten Sie die API-Grenzen, wenn Sie mit verschiedenen MySQL-Schnittstellen arbeiten. Die Verwendung inkompatibler Funktionen oder Ressourcen kann zu Fehlern und unvorhersehbarem Verhalten führen.
Das obige ist der detaillierte Inhalt vonWarum sollte ich es vermeiden, die APIs „mysql_' und „mysqli_' in PHP zu mischen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!