php が Mysql に接続できない場合は、Mysqli と PDO を使用して正常に接続できます。解決方法

WBOY
リリース: 2016-06-13 13:46:52
オリジナル
855 人が閲覧しました

php が Mysql に接続できない場合は、Mysqli と PDO を使用して正常に接続できます。
環境は win7 で手動で構築した apache2.2+php5.3+mysql5 です。phpinfo に表示される Mysql と Mysqli は正しく構築されていますが、php を使用して Mysql に接続すると失敗します。 PDO は正常に使用でき、接続エラーが発生してもエラー メッセージは表示されず、アクセスできないページに直接ジャンプします。助けてください! ! ! ! ! ! ! !


-----解決策---------------------------- -

PHP コード

function connect($servername, $username, $password, $dbname){
 echo "リンクを入力してください";
    $con = mysql_connect($サーバー名, $ユーザー名, $パスワード);
    $con = mysql_select_db($dbname, $con);
 $con を返します。
}
<br><font color="#e78608">------解決策---------</font><br>mysql_connect<br><br>(PHP 4 , PHP 5)<br><br>mysql_connect ― MySQL サーバーへの接続を開きます <br><br>説明<br><br>resource mysql_connect ([ string $server [, string $username [, string $password [, bool $new_link [, int $client_flags ]]]]] )<br>MySQL サーバーへの接続を開くか、再利用します。 <br><br>パラメータ<br><br>サーバー<br>MySQL サーバー。 「hostname:port」などのポート番号、またはローカルホストの「:/path/to/socket」などのローカルソケットへのパスを含めることができます。 <br><br>PHP ディレクティブ mysql.default_host が定義されていない場合 (デフォルトの場合)、デフォルト値は「localhost:3306」です。 <br><br>ユーザー名<br>ユーザー名。デフォルト値は、サーバープロセス所有者のユーザー名です。 <br><br>パスワード<br>パスワード。デフォルト値は空のパスワードです。 <br><br>new_link<br>mysql_connect() が同じパラメータで 2 回目に呼び出された場合、新しい接続は確立されませんが、すでに開かれている接続 ID が返されます。パラメータ new_link はこの動作を変更し、mysql_connect() が同じパラメータで以前に呼び出された場合でも、mysql_connect() が常に新しい接続を開くようにします。 <br><br>client_flags<br> client_flags パラメータには、定数 MYSQL_CLIENT_SSL、MYSQL_CLIENT_COMPRESS、MYSQL_CLIENT_IGNORE_SPACE、または MYSQL_CLIENT_INTERACTIVE を組み合わせることができます。詳細については、「MySQL クライアント定数」を参照してください。 <br><br>戻り値<br><br>成功した場合は MySQL 接続 ID を返し、失敗した場合は FALSE を返します。 <br><br>更新ログ<br><br>バージョンの説明<br>4.3.0 client_flags パラメーターを追加します。 <br>4.2.0 new_link パラメータを追加します。 <br>3.0.10 では、サーバーに「:/path/to/socket」のサポートが追加されます。 <br>3.0.0 では、サーバーに「:port」のサポートが追加されます。 <br>例<br><br>例 #1 mysql_connect() 例<br><?php<br />$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');<br />if ( !$link) {<br /> die('接続できませんでした: ' .mysql_error());<br />}<br />echo '接続に成功しました';<br />mysql_close($link);<br />?> <br>例 #2 mysql_connect() 例: hostname:port 構文の使用 <br><?php<br />// example.com とポート 3307 に接続します<br />$link = mysql_connect('example.com: 3307', 'mysql_user', 'mysql_password');<br />if (!$link) {<br /> die('接続できませんでした: ' .mysql_error());<br />}<br />echo '正常に接続されました';<br />mysql_close($link);<br /><br />// ポート 3307 でローカルホストに接続します<br />$link = mysql_connect('127.0.0.1:3307', 'mysql_user', 'mysql_password') ;<br />if (!$link) {<br /> die('接続できませんでした: ' .mysql_error());<br />}<br />echo '接続に成功しました';<br />mysql_close($link); <br />?><br>例 #3 mysql_connect() 例: ":/path/to/socket" 構文を使用します <br><?php<br />// localhost とソケットに接続します (例: /tmp/)。 mysql.sock<br /><br />//バリアント 1: localhost<br />$link = mysql_connect('/tmp/mysql', 'mysql_user', 'mysql_password');<br />if (!$link) { <br /> die('接続できませんでした: ' .mysql_error());<br />}<br />echo '接続に成功しました';<br />mysql_close($link);<br /><br /><br />//バリアント 2: localhost を使用する<br />$link = mysql_connect('localhost:/tmp/mysql.sock', 'mysql_user', 'mysql_password');<br />if (!$link) {<br /> die('Could接続していません: ' . mysql_error());<br />}<br />echo '接続に成功しました';<br />mysql_close($link);<br />?><br>注<br><br>注: <br><br>サーバーが「localhost」または「localhost:port」として指定されている限り、MySQL クライアント ライブラリはこの値をオーバーライドし、ローカル ソケット (Windows の名前付きパイプ) への接続を試みます。 TCP/IP を使用する場合は、「localhost」の代わりに「127.0.0.1」を使用する必要があります。 MySQL クライアント ライブラリが間違ったローカル ソケットに接続しようとしている場合は、PHP 構成に正しいパスを設定し、サーバーを空のままにしておく必要があります。 <br><br>注:<br><br>前に mysql_close() を呼び出して明示的に閉じていない限り、スクリプトが終了するとすぐにサーバーへの接続が閉じられます。 <br><br>注:<br><br>関数名の前に @ を追加すると、エラー発生時にエラー メッセージを抑制できます。 <br><br><br><br>mysql_pconnect() - MySQL サーバーへの永続的な接続を開きます<br> を参照してください。mysql_close() - MySQL 接続を閉じます
<br><font color="#e78608">------解決策----------------------</font><br>接続サーバー名は localhost ですか、それとも 127.0 ですか。 0.1 をお使いのコンピュータ名に変更してみてください。以前にもこの問題が発生しました。
<br><font color="#e78608">------解決策---------------------- <div class="clear"></div></font>
ログイン後にコピー
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!