0

XAMPPを使用してセットアップされたローカルテストサーバーを使用して、ローカルコンピューターで実行されているmySQLデータベースに接続しようとしています。パスワードが割り当てられていないrootアカウントを使用しています。以下のように試してみましたが、すべて正常に動作しているようです。接続に成功したというメッセージがエコーアウトされました。次に、ホスト、ユーザー名、またはパスワードとして他のものを入力してエラーを強制しようとしましたが、それでも「接続に成功しました」とエコーされます。

これは私が接続するために使用しているコードです:

<?php
$db_host = "localhost";
$db_username = "root";
$db_password = "";

$myConn = mysql_connect($db_host, $db_username, $db_password) or die('Connection error: '.mysql_error());
echo 'connection successful';
?>

そのような不条理を引き起こしているのは私なのか、それとも私が使用しているapache/mySQLのインストールなのか疑問に思いました。

4

3 に答える 3

0

これを試してください

$db_host = "localhost";
$db_username = "root";
$db_password = "";
$con = mysql_connect($db_host,$db_username,$db_passwd);
if (!$con)
 {
 die('Could not connect: ' . mysql_error());
 }
else
  echo 'connection successful';
  mysql_close($con);
?>
于 2012-08-23T05:19:18.490 に答える
0

インストールで何かを台無しにする必要があります。

marc@panic:~$ php -a
php > $x = mysql_connect('bleargh', 'foo', 'bar') or die(mysql_error());
PHP Warning:  mysql_connect(): Unknown MySQL server host 'bleargh' (2) in php shell code on line 1
Unknown MySQL server host 'bleargh' (2)marc@panic:~$ 

私が考えることができるのは、すべてのルックアップに対して有効なアドレスを返す DNS サーバーがあり、すべてのホスト名が解決されるということだけです。

于 2012-08-23T05:16:47.550 に答える
0

'connection successful'接続のステータスを確認していないため、常にエコーされます。

if (!$myConn) {
   echo 'Sorry, there was an error '.mysql_error();
} else {
   echo 'connection successful';
}

コードの実行方法によっては、次のような問題が発生する可能性があります。

同じ引数で mysql_connect() への 2 回目の呼び出しが行われた場合、新しいリンクは確立されませんが、代わりに、既に開かれているリンクのリンク識別子が返されます。new_link パラメータはこの動作を変更し、mysql_connect() が以前に同じパラメータで呼び出された場合でも、常に新しいリンクを開くようにします。SQL セーフ モードでは、このパラメーターは無視されます。

したがって、明示的なチェックを行うか、次のいずれかを行います。

$myConn = mysql_connect($db_host, $db_username, $db_password, true) or die('Connection error: '.mysql_error());

于 2012-08-23T05:17:14.483 に答える