Können MySQL-APIs in PHP gemischt werden?
Das Mischen von MySQL-APIs in PHP wird nicht empfohlen. PHP bietet zwei MySQL-API-Erweiterungen: mysql_ und mysqli_. Diese Erweiterungen sind separat und ihre Ressourcen sind inkompatibel.
Der von Ihnen bereitgestellte Code veranschaulicht das Problem:
$con = mysqli_connect("localhost", "root" ,"" ,"mysql"); if( mysqli_connect_errno( $con ) ) { echo "failed to connect"; }else{ echo "connected"; } mysql_close($con); echo "Done";
Dieser Code führt zu folgendem Fehler:
Connected Warning: mysql_close() expects parameter 1 to be resource, object given in D:\************.php on line 9 Done
Dieser Fehler tritt auf, weil mysql_close() eine MySQL-Ressource als Eingabe erwartet, Sie jedoch eine MySQL-Ressource bereitstellen Ressource.
Lösung:
Um dieses Problem zu beheben, verwenden Sie im gesamten Code konsistent nur eine MySQL-API-Erweiterung. Wenn Sie die Erweiterung mysqli_ verwenden, verwenden Sie mysqli_connect() und mysqli_close(), um die Verbindung zu öffnen und zu schließen. Wenn Sie die Erweiterung mysql_ verwenden, verwenden Sie entsprechend mysql_connect() und mysql_close().
Überprüfung der Verbindungsgültigkeit:
Sowohl mysql_connect_errno() als auch mysqli_connect_errno() können kann verwendet werden, um zu prüfen, ob die Verbindung gültig ist. Wenn der zurückgegebene Wert 0 ist, ist die Verbindung gültig. Andernfalls liegt ein Fehler vor.
Beispiel:
$con = mysqli_connect("localhost", "root" ,"" ,"mysql"); if( mysqli_connect_errno( $con ) ) { echo "failed to connect: " . mysqli_connect_error(); }else{ echo "connected"; }
Das obige ist der detaillierte Inhalt vonKönnen die MySQL-APIs „mysql_' und „mysqli_' zusammen in PHP verwendet werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!