ホームページ > バックエンド開発 > PHPチュートリアル > MySQL の「mysql_」 API と「mysqli_」 API を PHP で一緒に使用できますか?

MySQL の「mysql_」 API と「mysqli_」 API を PHP で一緒に使用できますか?

Mary-Kate Olsen
リリース: 2025-01-04 11:21:35
オリジナル
341 人が閲覧しました

Can MySQL's `mysql_` and `mysqli_` APIs Be Used Together in PHP?

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート