質問:
PHP では、mysql_ 関数を使用します。非推奨となり、後に削除されました。 mysql_query() を mysqli_query() に置き換えるなど、これらの関数をプロジェクト全体で対応する mysqli_ 関数に盲目的に置き換えることはできますか?
答え:
いいえ、
MySQLi は mysql_ と同様の機能を提供しますが、2 つの関数セットは構造的に異なります。 mysql_ を mysqli_ に置き換えるだけでは必ずしも機能するとは限らず、エラーが発生する可能性があります。
推奨アプローチ:
コードベースを安全に移行するには、次の手順を検討してください:
1.エラー報告:
潜在的な問題を特定するには、mysqli_ のエラー報告を有効にします。
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
2.接続の確立:
mysqli_ を使用して、接続を PHP 変数として保存する新しい接続関数を作成します。
$mysqli = new mysqli($host, $username, $password, $database);
3.クエリの実行:
最初の引数として接続変数を指定して mysqli_query() 関数を使用します。
<code class="php">$result = mysqli_query($mysqli, $sql);</code>
4.結果の取得:
手続き型コードまたはオブジェクト指向メソッドで mysqli_fetch_assoc() を使用して結果を取得します。
<code class="php">while ($row = mysqli_fetch_assoc($result)) { // ... }</code>
5.接続の終了:
mysqli_close() (手続き型) またはオブジェクト指向メソッドを使用して接続を閉じます。
<code class="php">mysqli_close($mysqli); $mysqli->close();</code>
6.関数変換:
データベース接続または結果セットに依存するすべての関連関数を、mysqli_ に相当する関数に変換します。
詳細については、mysqli_ ドキュメントを確認し、特定のコードとの互換性を確認してください。
以上がMySQL 関数を MySQLi の関数に盲目的に置き換えることはできますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。