【问题标题】:Why am I recieving this error?为什么我会收到此错误?
【发布时间】:2014-12-05 06:18:17
【问题描述】:

我正在尝试设置一个 mysql 数据库以从 html 表单中捕获信息,但是当我对其进行测试时,它会返回以下错误。该文件与数据库位于同一台服务器上。我的 php 位于错误下方。

警告:mysql_connect() [function.mysql-connect]: 在线 /home/westcl5/public_html/drjseminars.com/thankyou.php 中的用户 'inmoti6_ted_seminar'@'localhost' 访问被拒绝(使用密码:YES) 92 无法连接:用户 'inmoti6_ted_seminar'@'localhost' 的访问被拒绝(使用密码:YES)

if( $_POST )
        {
          $con = mysql_connect("localhost","inmoti6_ted_seminar","Polarbear5");

          if (!$con)
          {
            die('Could not connect: ' . mysql_error());
          }

          mysql_select_db("inmoti6_westcl5_ted_sem", $con);

          $users_firstName = $_POST['first_name'];
          $users_lastName = $_POST['last_name'];
          $users_street = $_POST['street'];
          $users_street2 = $_POST['street2'];
          $users_city = $_POST['city'];
          $users_state = $_POST['state'];
          $users_zip = $_POST['zip'];
          $users_country = $_POST['country'];
          $users_email = $_POST['email'];
          $users_telephone = $_POST['telephone'];
          $users_practice = $_POST['practice'];

          $users_firstName = mysql_real_escape_string($users_firstName);
          $users_lastName = mysql_real_escape_string($users_lastName);
          $users_street = mysql_real_escape_string($users_street);
          $users_street2 = mysql_real_escape_string($users_street2);
          $users_city = mysql_real_escape_string($users_city);
          $users_state = mysql_real_escape_string($users_state);
          $users_zip = mysql_real_escape_string($users_zip);
          $users_country = mysql_real_escape_string($users_country);
          $users_email = mysql_real_escape_string($users_email);
          $users_telephone = mysql_real_escape_string($users_telephone);
          $users_practice = mysql_real_escape_string($users_practice);

          $query = "
          INSERT INTO `westcl5_ted_sem`.`ted_seminar` (`First Name`, `Last Name`, `E-mail`, `Phone #`, `Street Address`, `Street Address 2`, `City`, `State`, `Zip Code`, `Country`, `Practice`) VALUES ('$users_firstName', '$users_lastName', '$users_email', '$users_telephone', '$users_street', '$users_street2', '$users_city', '$users_state', '$users_zip', '$users_country', '$users_practice');";

          mysql_query($query);

          mysql_close($con);
        }

【问题讨论】:

  • 你的数据库用户权限不够,给你的用户必要的权限
  • 另外请注意,mysql_* 函数已被弃用。停止使用它们,因为它不再安全。查看PDOMySQLi :)

标签: javascript php html mysql css


【解决方案1】:

问题在于您的密码不匹配。试试defulat $con=mysql_connect("localhost",'root','');代替 $con = mysql_connect("localhost","inmoti6_ted_seminar","Polarbear5");

在 XAMPP 上工作时,我也收到了这个错误,但是通过使用上面提到的行解决了我的问题。

【讨论】:

    【解决方案2】:

    您需要授予inmoti6_ted_seminar 用户权限。以root身份登录mysql服务器并执行以下SQL,当然你可以设置他们有哪些权限,但我假设你只是想要INSERT

    CREATE USER 'inmoti6_ted_seminar'@'localhost' IDENTIFIED BY 'Polarbear5';
    GRANT INSERT ON inmoti6_westcl5_ted_sem.* TO 'inmoti6_ted_seminar'@'localhost';
    

    【讨论】: