PHP で MySQL API を混合できますか?
PHP で MySQL API を混合することはお勧めできません。 PHP は、mysql_ と mysqli_ という 2 つの MySQL API 拡張機能を提供します。これらの拡張機能は別個であり、それらのリソースには互換性がありません。
あなたが提供したコードは問題を示しています:
$con = mysqli_connect("localhost", "root" ,"" ,"mysql"); if( mysqli_connect_errno( $con ) ) { echo "failed to connect"; }else{ echo "connected"; } mysql_close($con); echo "Done";
このコードでは次のエラーが発生します:
Connected Warning: mysql_close() expects parameter 1 to be resource, object given in D:\************.php on line 9 Done
このエラーは、mysql_close() が入力として MySQL リソースを予期しているにもかかわらず、mysqli リソースを提供しているために発生します。 resource.
解決策:
この問題を解決するには、コード全体で一貫して MySQL API 拡張機能を 1 つだけ使用します。 mysqli_ 拡張機能を使用している場合は、mysqli_connect() および mysqli_close() を使用して接続を開いたり閉じたりします。同様に、mysql_ 拡張機能を使用している場合は、mysql_connect() と mysql_close() を使用します。
接続の有効性の確認:
mysql_connect_errno() と mysqli_connect_errno() は両方とも実行できます。接続が有効かどうかを確認するために使用されます。戻り値が 0 の場合、接続は有効です。それ以外の場合は、エラーが発生します。
例:
$con = mysqli_connect("localhost", "root" ,"" ,"mysql"); if( mysqli_connect_errno( $con ) ) { echo "failed to connect: " . mysqli_connect_error(); }else{ echo "connected"; }
以上がMySQL の「mysql_」 API と「mysqli_」 API を PHP で一緒に使用できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。