Я устанавливаю easyphp / devserver (v17.0) на машине с Windows 10 x64.Работа с таблицами и тестирование для хранения удаленных данных с простыми php-файлами (очень новое для баз данных).Я пытаюсь настроить доступ к моей БД для моего проекта (желательно с использованием PDO).
Настройка всей базы данных с помощью команд mysql:
CREATE database arduDB;
CREATE USER 'Atmega'@'localhost';
GRANT USAGE on *.* to 'Atmega'@'localhost';
GRANT ALL PRIVILEGES ON arduDB.* TO 'Atmega'@'localhost';
CREATE USER 'Atmega'@'%';
GRANT USAGE on *.* to 'Atmega'@'%';
GRANT ALL PRIVILEGES ON arduDB.* TO 'Atmega'@'%';
FLUSH PRIVILEGES;
Все в порядке здесь.
Но не могу получить доступ к моей БД (arduDB) с помощью PDO, но могу использовать MYSQLI без использования имени БД 'arduDB'.
Я удалил '' (Любых) пользователей из phpmyadmin, но все еще могу 'т доступ с помощью PDO.Искал и читал весь день об этой проблеме, но не могу найти причину, почему это произошло.Также я создаю другого пользователя с паролем, но не могу получить доступ с помощью PDO к БД.
Похоже, что phpmyadmin не может связать права доступа к БД,
edited Этот файл 'add.php', без использования имени 'arduDB', дает доступ через MYSQLI:
<?php
$servername = "localhost";
$username = "Atmega";
// Create connection
$conn = new mysqli($servername, $username);
// Check connection
if ($conn->connect_error) {
die("Failed: " . $conn->connect_error);
}
echo "Connected!!!";
?>
показывает «Подключено» в веб-браузере.Но та же ошибка, если я пытаюсь использовать аргумент arduDB.
Но когда я использую PDO, указывая базу данных arduDB , я не могу получить доступ к своей БД.
<?php
$servername = "localhost";
$username = "Atmega";
try {
$conn = new PDO("mysql:host=$servername;dbname=arduDB", $username);
// set the PDO error mode to exception
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo "Connected!!!";
}
catch(PDOException $e)
{
echo "Failed: " . $e->getMessage();
}
?>
SQLSTATE [HY000] [1044] Доступ запрещен для пользователя '' @ 'localhost' к базе данных 'ardudb' или SQLSTATE [HY000] [1044] Доступ запрещен для пользователя 'Atmega' @ 'localhost'to database' ardudb '
Пожалуйста, что мне нужно настроить или использовать в моем коде для предоставления доступа к определенной БД с использованием PDO в моем проекте?