猿问

如何让这个 php 代码连接到 sql 工作台?

我在使用 pdo 连接到 Sql Workbench 时遇到问题。显示以下错误,尽管我已经尝试了各种连接方式。


收到错误:


SQLSTATE [HY000] [1045] 用户'root'@'localhost'的访问被拒绝(使用密码:否)


<?php

session_start();

try {

$con = new PDO ("mysql:host=localhost;dbname=users",'root','');

if(isset($_POST['signup'])){

    $username = $_POST['username'];

    $email = $_POST['email'];

    $password = $_POST['password'];

    $fname = $_POST['fname'];

    $lname = $_POST['lname'];

    $city = $_POST['city'];


    $insert = $con->prepare("INSERT INTO users1(username,email,password,fname,lname,city)

            values(:username, :email, :password, :fname, :lname, :city)

            ");

    $insert->bindParam (':username',$username);

    $insert->bindParam (':email',$email);

    $insert->bindParam (':password',$password);

    $insert->bindParam (':fname',$fname);

    $insert->bindParam (':lname',$lname);

    $insert->bindParam (':city',$city);

    $insert->execute();

}elseif (isset($_POST['signin'])){

    $username = $_POST['username'];

    $password = $_POST['password'];


    $select = $con->prepare("SELECT*FROM users1 where username='$username' and password='$password'");

    $select->setFetchMode(PDO::FETCH_ASSOC);

    $select->execute();

    $data=$select->fetch();

    if($data['username']!=$username and $data['password']!=$password)

    {

        echo "Invalid username or Password";

    }

    elseif($data['username']==$username and $data['password']==$password)

    {

        $_SESSION['username']=$data['username'];

        $_SESSION['email']=$data['email'];

        $_SESSION['fname']=$data['fname'];

        $_SESSION['lname']=$data['lname'];


        header("location:profile.php");

    }

     }

}

catch (PDOException $e) { 

      echo "Error: ". $e -> getMessage();

}?>


蝴蝶刀刀
浏览 103回答 2
2回答

江户川乱折腾

如果您不知道密码,可以使用以下命令更新密码:UPDATE mysql.user SET Password=PASSWORD('MyNewPass') WHERE User='root';//then connection will be:$con = new PDO ("mysql:host=localhost;dbname=users",'root','MyNewPass');

蓝山帝景

我认为它要求输入密码&nbsp;$con&nbsp;=&nbsp;new&nbsp;PDO&nbsp;("mysql:host=localhost;dbname=users",'root','your_password');
随时随地看视频慕课网APP
我要回答