ホームページ > バックエンド開発 > PHPチュートリアル > PHP で mysql_ と mysqli_ API を混合できますか? 接続の有効性を確認するにはどうすればよいですか?

PHP で mysql_ と mysqli_ API を混合できますか? 接続の有効性を確認するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-12-20 00:40:17
オリジナル
669 人が閲覧しました

Can I Mix mysql_ and mysqli_ APIs in PHP, and How Can I Verify Connection Validity?

PHP における MySQL API の相互運用性

質問:

mysql_ と mysqli_ を混在させると問題があるようですPHPでのAPIも可能です。ただし、これらの API を組み合わせて使用​​して接続を接続したり閉じたりしようとすると、エラーが発生します。これらの API を混合することは許可されますか?許可されない場合、接続の有効性はどのように検証できますか?

回答:

最初の想定に反して、mysql_ と mysql_ とを混合すると、 PHP の mysqli_ API はお勧めできません。これらの API は別個であり、生成されるリソースは交換可能ではありません。

MySQL API の混合に問題がある理由は次のとおりです:

  • 一貫性のないリソース タイプ: mysql_ はタイプ「mysql」のリソースとして接続を確立しますが、mysqli_ はタイプのリソースを作成します'mysqli'.
  • API 呼び出しの互換性: 接続、終了、エラー処理など、接続のセットアップと管理に関連する関数は、mysql_ と mysqli_.
で異なります。

質問で提供されているコード スニペットは、これらの API を混合するときに発生する問題を示しています。最初のコード スニペットでは、mysql_connect() と mysqli_connect_errno() の両方を利用しているため、接続終了時に型不一致エラーが発生します。同様に、2 番目のスニペットは、mysqli_ 接続で mysql_close() を使用しており、これもエラーをトリガーします。

推奨アプローチ:

mysql_ API のいずれかを使用することを強くお勧めします。またはデータベース接続用の mysqli_ API。潜在的な互換性の問題や予期しない動作を防ぐために、2 つの API を混合しないでください。

接続の検証:

mysqli_ を使用して確立されたデータベース接続の有効性を検証するには、次のコード:

if (mysqli_connect_errno()) {
    // Handle connection error
}
ログイン後にコピー

このコードは、接続確立プロセス中にエラーが発生したかどうかを確認し、ゼロ以外の値を返します。エラーが検出された場合の値。

以上がPHP で mysql_ と mysqli_ API を混合できますか? 接続の有効性を確認するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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