连接到MySQL DB时不返回错误消息

时间:2012-11-30 13:05:09

标签: php mysql sql localhost

我刚学会了如何连接数据库。但是我故意让错误的用户返回错误。但它没有,它一直向我显示我是连接的。

<?php


$mysql_host = 'localhost';
$mysql_user = 'root';
$mysql_pass = '';

@mysql_connect($mysql_host,$mysql_user,$mysql_pass) or die('Sorry');

echo 'Connected';
?>

在这种情况下,它显示已连接,因为我的数据库中有一个名为root的用户,但是如果我用其他任何内容替换它,它仍然显示已连接而不是对不起。

我不能回答我自己的问题,因为显然声誉较低,我被要求等待8个小时或编辑我的问题并修复它。 (我希望你们给我一些滴答声,这样我也可以回答:P开玩笑)

所以这是修复:

当我转到localhost链接下的用户概述选项卡时,它显示“User:Any”,“Host:localhost”,“Privileges:Usage”。我刚刚删除了那个东西。并保持pma,linux和root的东西。删除了额外的用户(不知道它是怎么来的)并解决了这个问题。

所以基本上对于任何用户来说,它都是连接并提供访问权限。

我不知道我是否被允许回答我自己的问题但是因为我发现它我发布它以便在有需要时帮助某人并且在类似的船上。

对不起,谢谢大家:)

2 个答案:

答案 0 :(得分:1)

首先,正如其他人所说,你应该再使用mysql库了

但到目前为止你的问题是:

mysql_connect($mysql_host,$mysql_user,$mysql_pass) or die('Error'.mysql_error());

此外,“或死”声明不应该用于杀死脚本的任何事情,而且你要优雅地“死”

答案 1 :(得分:0)

@符号正在抑制错误消息。删除它,您将在die()

中看到消息

Please, don't use mysql_* functions in new code.他们已不再维护,deprecation process已经开始了。请参阅red box?请改为了解prepared statements,并使用PDOMySQLi - 此article将帮助您确定哪个。