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)。

要检查这一点,我会做两件事:

  • 查询完成后if(!$result) echo mysql_error( );- 这将向您显示与数据库交谈时发生的任何错误
  • 要检查您的 SQL 是否正确形成,请在变量中创建它(例如$sql = "SELECT email ...";)并回显它。

编辑:啊刚刚看到更新 - 这是一个连接问题。检查您mysql_connect( )的主机、用户名和密码是否正确。否则可能是您的系统有问题(例如防火墙或类似设备)

编辑 2:正如已经正确指出的那样,mysql_connect 详细信息会导致与您看到的不同的连接错误。我有一个快速的谷歌,这突然出现了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 回答