2

追加された行で以下のスクリプトを実行すると、

$count = 1;

画面に 1 の値が表示されますが、その行を取り出すと何も表示されません。$count=mysql_num_rows($result); の上に移動しようとしました。それでも値が得られませんでした。

$sql="SELECT EMAIL FROM CUSTOMER WHERE email='$myemail' and password='$mypassword'";
$result=mysql_query($sql);
$count=mysql_num_rows($result);

$count = 1;
echo $count;

ここで何が間違っていますか?今までPHPを使ったことがありません。エラーは次のとおりです。

Can't connect to local MySQL server through socket
'/var/run/mysqld/mysqld.sock' (2)
4

3 に答える 3

1

これは、MySQLサーバーソケット(/var/run/mysqld/mysqld.sock)が見つからないか破損していることを意味します。

また、MySQLサービスが正しく機能していない可能性もあります。以下を使用してSSHで再起動してみてください。

$ service mysqld restart

サービスが欠落していると表示されている場合は、次のように言います。

$ service mysql restart
于 2012-04-29T15:00:31.820 に答える
0

私はあなたの SQL クエリでエラーを推測します (var_dump($count);この場合は false を返します)。

これを確認するには、次の 2 つのことを行います。

  • クエリを実行if(!$result) echo mysql_error( );すると、データベースとの通信中に発生したエラーが表示されます
  • SQL が正しく形成されていることを確認するには、変数 (例: $sql = "SELECT email ...";) で SQL を作成し、エコー アウトします。

編集:ああ、アップデートを見たところです-接続の問題です。mysql_connect( )ホスト、ユーザー名、パスワードが正しいことを確認してください。そうしないと、システムに問題がある可能性があります (ファイアウォールなど)。

EDIT 2:正しく指摘されているように、mysql_connect の詳細は、表示されているものとは異なる接続エラーを引き起こします。私はそれについて簡単なGoogleを持っていましたが、これはhttp://lists.mysql.com/mysql/204035を見つけました。私はそれを読んでいないので、それが役に立つかどうかはわかりませんが、他の誰かのシステムでこの問題を解決するためのいくつかの手順を説明しています.

于 2012-04-29T14:55:43.303 に答える
0

データベースに正常に接続できない場合、mysql_query関数 ($result) からの戻り値は有効な値ではありません。したがって、関数に渡すとmysql_num_rows、失敗して FALSE 値が返されますが、出力画面に視覚的な影響はありません!

于 2012-04-29T15:10:06.623 に答える