从php连接到mysql数据库,错误但没有显示错误?

时间:2013-05-22 04:12:26

标签: php mysql debian

所以我正在制作一个超级简单的网站,只是为了练习你在页面上显示的东西,但它不会工作,我认为iv缩小到它开始连接到数据库< / p>

$server    ="localhost";
$username  ="root";
$password  ="********";
$database  ="user_accounts"; 
$connect=mysqli_connect($server,$username,$password,$database);

if (mysqli_connect_errno())
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }

我正在使用Apache / 2.2.22(Debian),PHP 5.4.4-14和mysql Ver 14.14 Distrib 5.5.31运行我的服务器,使用readline 6.2运行debian-linux-gnu(armv7l) 而且我注意到即使我输错密码也不会“回显”错误行,所以我的问题是我是否连接到localhost或者我在那里做了别的错误?

3 个答案:

答案 0 :(得分:1)

尝试这样的事情:

if ($mysqli->connect_errno) {
    printf("Failed to connect: %s\n", $mysqli->connect_error);
    exit();
}

答案 1 :(得分:1)

你能试试吗

<?php
$mysqli = @new mysqli('localhost', 'root', '*******', 'user_accounts');

if ($mysqli->connect_errno) {
    die('Connection Error: ' . $mysqli->connect_errno);
}
?>

答案 2 :(得分:1)

如下所示连接

<?php
$link = @mysqli_connect('localhost', 'root', '*******', 'user_accounts');

if (!$link) {
    die('Connect Error: ' . mysqli_connect_errno());
}
?>

下面是根据您的请求在mysql脚本中创建用户

用户newuser连接没有密码(不安全),不包含IDENTIFIED BY子句:

CREATE USER 'newuser'@'localhost';

要为新创建的用户newuser分配密码,请使用带有明文密码值的IDENTIFIED BY:

CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'mypass';

如果你知道它的哈希值(PASSWORD()将为密码返回的值),为了避免指定明文密码,请指定以关键字PASSWORD开头的哈希值:

CREATE USER 'newuser'@'localhost'
IDENTIFIED BY PASSWORD '*90E462C37378CED12064BB3388827D2BA3A9B689';

然后,您GRANT

可以newuser访问您想要的内容

GRANT SELECT,INSERT,UPDATE,DELETE ON user_accounts.* TO 'newuser'@'localhost';

您可以使用此link生成哈希码。