答えはそれがどのように機能するかについてマニュアルで読まれています:http://php.net/oop5
前の質問への回答:
次のエラーが発生します。
警告:mysql_real_escape_string()[function.mysql-real-escape-string]:/home/radiolev/public_html/top/toplist.class.phpのユーザー'radiolev' @'localhost'(パスワード:NOを使用)のアクセスが拒否されました10行目
警告:mysql_real_escape_string()[function.mysql-real-escape-string]:サーバーへのリンクを10行目の/home/radiolev/public_html/top/toplist.class.phpに確立できませんでした
次に、次のように尋ねます。
mysqlパスワードが適切であるために表示される理由がわかりません。
心配ない。あなたはちょっとした間違いをしました。間違いはmysql_real_escape_string
、拡張機能の接続を使用せずに関数を使用することですmysql_*
(注:データベースサーバーではなく拡張機能)。
拡張データベース接続を確立せずにその関数を呼び出す場合mysql_*
、PHPはphp.iniで提供された設定に基づいて自動的に関数を作成します。これは通常、ローカルホストに設定されたホストのみですが、ユーザー名とパスワードはありません。
これが、接続が失敗したという最初のエラーが表示され、2番目のエラーが接続の失敗の結果である理由です-データベースへのリンクがないので、?mysql_real_escape_string
動作しません。
この問題を解決するには、mysql_real_escape_string
を介してmysqlを使用している場合は使用しないでくださいPDO
。必要なのは準備されたステートメントだけです。