【问题标题】:need help traying to access my database with mysql需要帮助尝试使用 mysql 访问我的数据库
【发布时间】:2016-02-01 18:56:51
【问题描述】:

刚刚建立了我的第一个数据库,使用下面的简单查询来测试学习技能:

<?php

  mysqli_connect("xxx","yyy","zzz" , "newtone" );

if (mysqli_connect_error()){

    echo ("could not connect to database");

    }


?>

这就是我得到的

:(42000/1044): 用户'yyy'@'xxx'拒绝访问数据库'newtone'......

我不明白。所以当我使用这个时:

mysqli_connect("xxx","yyy","zzz" );

if (mysqli_connect_error()){

    echo ("could not connect to database");

    }


?>

我没有收到错误消息,只是一个空白页面(请注意登录参数中未包含数据库名称)。我做错了什么?

【问题讨论】:

  • 您没有收到 实际 错误。您可以在错误日志中找到它。
  • 感谢您与全世界分享您的数据库登录凭据。如果您发布您的信用卡号、社会保险号和母亲的娘家姓,我们将能够立即回答您的问题。
  • 并且不要使用固定的错误信息。没用的。 if (mysqli_connect_error()) { die(mysqli_connect_error()); }。让数据库告诉你失败的原因。

标签: php mysql sql database logging


【解决方案1】:

你想连接数据库然后需要三个东西来创建连接dbhost用户名,dbhost密码和你的数据库名称

   <?php
        $dbhost = "localhost";
        $dbuser = "root"; //In case of localhost (default db username)
        $dbpass = ""; //In case of localhost
        $dbname = "testDb";//Your database name

        $con = mysqli_connect($dbhost,$dbuser,$dbpass,$dbname );

       // Check connection
      if (mysqli_connect_errno())
      {
       echo "Failed to connect to MySQL: " . mysqli_connect_error();
      }
    ?>

【讨论】:

  • 您在答案中混合了 MySQL 和 MySQLi 扩展。请避免使用 MySQL 并仅使用 MySQLi 或 PDO。
  • 是的,我知道 PHP7 没有更多的 MYSql
  • 太棒了 :) 我还是更喜欢面向对象的风格,但这取决于你 :)
【解决方案2】:

您的第二个示例有效,因为您已成功连接到 MySql 服务器,并默认使用“newtone”以外的默认数据库

如果您在连接后尝试类似 mysqli::select_db 的命令,您会看到同样的错误。 http://php.net/manual/en/mysqli.select-db.php

您的问题的症结似乎是您的用户 yyy 的权限。确保用户 yyy 具有各种权限,例如对数据库“newtone”的读/写

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-07-04
    • 1970-01-01
    • 2011-03-21
    • 2016-05-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多