当我使用添加的行运行下面的脚本时,
$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)
答案 0 :(得分:1)
这意味着你的MySQL服务器套接字(/var/run/mysqld/mysqld.sock)丢失或损坏。
这也可能意味着MySQL服务无法正常工作,请尝试使用以下命令在SSH中重新启动:
$ service mysqld restart
如果说缺少服务,请说:
$ service mysql restart
答案 1 :(得分:0)
我猜你的SQL查询会出错(var_dump($count);
在这种情况下会返回false)。
要检查这一点,我会做两件事:
if(!$result) echo mysql_error( );
- 这将显示与数据库通信时发生的任何错误$sql = "SELECT email ...";
)中创建并回显它。mysql_connect( )
是否拥有合适的主机,用户名&密码。否则,它可能是您系统上的问题(例如防火墙或类似的)
编辑2:正如已经正确指出的那样,mysql_connect详细信息会导致与您看到的连接错误不同。我有一个快速谷歌,它出现了http://lists.mysql.com/mysql/204035。不确定它是否有用,因为我没有阅读它,但它确实描述了在别人的系统上解决这个问题的一些步骤。
答案 2 :(得分:0)
如果无法成功连接到数据库,则mysql_query
函数($ result)的返回值将不是有效值。所以,当你将它赋予mysql_num_rows
函数时,它会失败&返回FALSE值,它对输出屏幕没有视觉效果!