PHP не будет подключаться к MySQL

Я пытаюсь создать файл PHP, который подключается к базе данных mysql и вставляет данные в базу данных. Однако я испытываю трудности с подключением к базе данных. Я получаю следующую ошибку
(!) Примечание: неопределенная переменная: dbname в C: \ wamp \ www \ php_Final_kk.php в строке 34
Стек вызовов

(!) Примечание: неопределенная переменная: sql в C: \ wamp \ www \ php_Final_kk.php в строке 52

SQLSTATE [HY000] [1045] Доступ запрещен для пользователя ‘root’ @ ‘localhost’ (используется пароль: YES)

Мое имя пользователя и пароль верны для базы данных, и все привилегии предоставлены, но я просто не могу заставить их подключиться, любая помощь будет оценена, и я включил свой код ниже. Спасибо!

<?php$servername = "localhost";
$username = "root";
$password = "";

// Create connection
$conn = mysqli_connect($servername, $username, $password);
// Check connection
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}

$fname = $_POST['fname'];
$lname = $_POST['lname'];
$email = $_POST['email'];
$uname = $_POST['uname'];
$password = $_POST['password'];
$SSN = $_POST['ssn'];

try {
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);

// set the PDO error mode to exception
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "INSERT INTO users (fname, lname,email,username,password,SSN) VALUES ('$fname',        '$lname', '$email', '$uname', '$password', '$ssn')";// use exec() because no results are returned
$conn->exec($sql);
echo "New record created successfully";
}

catch(PDOException $e)
{

echo $sql . "<br>" . $e->getMessage();
}

$conn = null;
?>

enter code here

0

Решение

Когда вы создаете соединение через mysqli_connect, вы должны указать 4 аргумента: хост, имя пользователя, пароль и имя базы данных. Вам не хватает имени базы данных.

Правильный вызов:

$link = mysqli_connect('localhost', 'my_user', 'my_password', 'my_db');

if (!$link) {
die('Connect Error (' . mysqli_connect_errno() . ') '
. mysqli_connect_error());
}

Это все объясняется в официальные документы

1

Другие решения

Вы не определили имя базы данных

dbname=$dbname$servername = "localhost";
$username = "root";
$password = "";
$dbname = "my db name";

// Create connection
$conn = mysqli_connect($servername, $username, $password, $dbname );
0

Исправьте здесь:

Вы должны указать 4 необходимых аргумента: хост, имя пользователя, пароль и имя базы данных. Вы пропустили имя базы данных.

$servername = 'localhost';
$username = 'root';
$password = '';
$dbname = 'test';

// Create connection
$conn = mysqli_connect($servername, $username, $password, $dbname);
// Check connection
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}

$dbname это имя вашей базы данных, которое отсутствует в вашем коде.

0
По вопросам рекламы [email protected]