12

mysql サーバーへの接続に問題があります。Linux ターミナルを使用して接続できるので、ホスト、ポート、ユーザー、およびパスワードが機能することがわかっています。ただし、PHP を使用して接続することはできません。

PHP バージョン: 5.2.17

サーバーのバージョン: 5.5.27-log MySQL Community Server (GPL)

テスト コードの例を次に示します。

<?php

$link = mysqli_connect('host.com:5306', 'user', 'pass', 'db');

/* check connection */

if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

if (!mysqli_query($link, "SET a=1")) {
    printf("Errormessage: %s\n", mysqli_error($link));
}

/* close connection */
mysqli_close($link);    

?>

次の警告が表示されます。

警告: mysqli_connect() [function.mysqli-connect]: (HY000/2005): 不明な MySQL サーバー ホスト 'host.com:5306' (1) /.../test.php の 3 行目

接続に失敗しました: 不明な MySQL サーバー ホスト 'host.com:5306' (1)

何をすべきかについてのアイデアはありますか?

4

4 に答える 4

52

ポート番号は別の引数でなければなりません:

$link = mysqli_connect('host', 'user', 'pass', 'db', 5306);
于 2013-05-31T13:59:55.813 に答える
4

何をすべきかについてのアイデアはありますか?

もちろん。PHP 関数の問題に対する簡単な 3 ステップの解決策:

  1. お気に入りのブラウザを開く
  2. アドレスバーに入力php.net/してから、問題の関数の名前を入力します:
    あなたの場合は `php.net/mysqli_connect`
  3. Enterキーを押します

これで、関数の説明が得られ、適切なパラメーター リストを確認できます。

于 2013-05-31T14:00:24.570 に答える
0

mysql 関数のホスト パラメータは、「localhost」または「127.0.0.1」である必要があります。

パラメータを「host:port」として設定しましたが、それは間違いです。サーバー内のネットワークの完全なエイリアスまたは完全な IP アドレスを持つリモート サーバーである必要があります。このエラーの詳細については、http: //compnetworking.about.com/od/workingwithipaddresses/g/127_0_0_1_def.htmを参照してください。

php.net の mysql ブック: http://www.php.net/manual/en/function.mysql-connect.php

于 2013-05-31T13:57:01.373 に答える