1

I have a HTML form and I'm using PHP to send the results to an sql database on phpMyAdmin but after submitting I get "Access denied for user 'root'@'localhost' (using password: YES)" error.

This is all hosted locally using MAMP, root@localhost is the only user and I'm sure I've got the right password.

I've looked through similar questions, flushed privileges, created new users, tried logging on through the command line (to which I get the same error) but nothing seems to work.

Here's my code:

$hostname = "localhost";
$username = "root";
$password = "root";
$dbname = "quotetool";

$conn = new mysqli($hostname, $username, $password, $dbname);

if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

$sql = "INSERT INTO customerdetails (workstations, servers, firewalls, name, email, phone, support)
VALUES ('$workstations', '$servers', '$firewalls', '$name', '$email', '$phone', '$support')";

if ($conn->query($sql) === TRUE) {
    echo "New record created";
} else {
    echo "Error: " . $sql . "<br>" . $conn->error; 
}
$conn->close();

and here is my user if this helps

enter image description here

Screenshot of my error

Calle
  • 15
  • 7

1 Answers1

0

Try this code possibly it is because MySql expects Mamp to use port 3306.

$hostname = "localhost";
$username = "root";
$password = "root";
$dbname = "quotetool";
$port = "8889";

$conn = new mysqli($hostname, $username, $password, $dbname, $port);

if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

$sql = "INSERT INTO customerdetails (workstations, servers, firewalls, name, email, phone, support)
VALUES ('$workstations', '$servers', '$firewalls', '$name', '$email', '$phone', '$support')";

if ($conn->query($sql) === TRUE) {
    echo "New record created";
} else {
    echo "Error: " . $sql . "<br>" . $conn->error; 
}
$conn->close();

Correct syntax

mysqli_connect(host,username,password,dbname,port,socket);

If any issue let me know I will try fixing it.

Rajendran Nadar
  • 2,413
  • 2
  • 21
  • 34
  • Amazing, thanks so much. I actually changed $port = "3306"; to $port="8889" as this was the one sql was using but now it works great. Cheers! – Calle Oct 03 '17 at 10:55