PHP アップグレード後の非推奨の mysql_* 関数: 解決策
PHP 5.2.0 から 5.5.0 にアップグレードした後、試行すると問題が発生する可能性があります。 mysql_* 関数を使用します。これは、これらの関数の非推奨が原因です。
エラーが発生しました: 非推奨の mysql_real_escape_string()
これを解決するには、mysql_real_escape_string() を最新の対応するもの: mysqli_real_escape_string() に置き換えます。 ).
エラーが発生しました: mysqli_real_escape_string() 2 つのパラメータが必要です
mysqli_real_escape_string() を使用する場合、接続変数とエスケープする文字列の 2 つの引数が必要です。
変更を加えたコード例:
<?php $connection = mysqli_connect("host", "my_user", "my_password", "my_db"); $username = mysqli_real_escape_string($connection, $username); $password = mysqli_real_escape_string($connection, $password); $query = "SELECT * FROM login WHERE username = '{$username}' AND password = '{$password}' AND status=1";
オブジェクト指向アプローチの使用を検討する
保守性を高めるには、次のことを検討してください。接続の詳細をカプセル化するデータベース オブジェクト クラスを使用します:
<?php class Database { private $connection; public function __construct($host, $user, $password, $database) { $this->connection = mysqli_connect($host, $user, $password, $database); } public function escape($string) { return mysqli_real_escape_string($this->connection, $string); } // Other database operations... }
結論:
これらのガイドラインに従うことで、開発者は mysql_ で発生した非推奨の問題を正常に解決できます。 ※PHPアップグレード後の機能となります。
以上がPHP をアップグレードすると、mysql_* 関数が非推奨になるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。