Предупреждение: mysqli_connect (): (HY000 / 1045): доступ запрещен для пользователя 'username' @ 'localhost' (с использованием пароля: YES) в C: \ Users \ xampp \ htdocs \ PHP_Login_Script \ config.php в строке 6
Предупреждение: mysqli_real_escape_string () ожидает, что параметр 1 будет mysqli, boolean задан в C: \ Users \ xampp \ htdocs \ PHP_Login_Script \ login.php в строке 10
- Локальный или phpMyAdmin не найден на сервере: как исправить?
- Я не могу получить доступ к XAMPP phpMyAdmin; он говорит: Ошибка MySQL: Документация Не удается подключиться: неверные настройки
- Значения по умолчанию для типов данных varchar и int mysql
- PHPMyAdmin / MySql - добавление поля идентификатора и идентификаторов автопопуляции
- Как написать хранимую процедуру с использованием phpmyadmin и как ее использовать через php?
Предупреждение: mysqli_real_escape_string () ожидает, что параметр 1 будет mysqli, boolean задан в C: \ Users \ xampp \ htdocs \ PHP_Login_Script \ login.php в строке 11
Предупреждение: mysqli_query () ожидает, что параметр 1 будет mysqli, boolean задан в C: \ Users \ xampp \ htdocs \ PHP_Login_Script \ login.php в строке 15
Предупреждение: mysqli_fetch_array () ожидает, что параметр 1 будет mysqli_result, null указан в C: \ Users \ xampp \ htdocs \ PHP_Login_Script \ login.php в строке 16
Предупреждение: mysqli_num_rows () ожидает, что параметр 1 будет mysqli_result, null указан в C: \ Users \ xampp \ htdocs \ PHP_Login_Script \ login.php в строке 19
Я получаю эту ошибку выше на локальном хосте, даже если мой файл конфигурации выглядит так:
<?php define("DB_HOST", "localhost"); define("DB_USER", "root"); define("DB_PASSWORD", ""); define("DB_DATABASE", "databasename"); $db = mysqli_connect(DB_SERVER, DB_USERNAME, DB_PASSWORD, DB_DATABASE); ?>
Это работало, но теперь этого больше нет. Есть ли какие-либо проблемы с этим кодом или он не работает сейчас? Это учебник, над которым я сейчас работаю.
Эта комбинация имени пользователя, хоста и пароля не разрешается подключаться к серверу. Проверяйте таблицы разрешений (при необходимости перезагружайте гранты) на сервере и подключайтесь к правильному серверу.
Если вы запустите обновление Wamp
define("DB_HOST", "localhost");
К вашим IP-адресам компьютеров (мой – 192.168.0.25);
define("DB_HOST", "192.168.0.25");
Вы можете найти его в окне, набрав ipconfig в консоли или ifconfig на mac / linux
mysqli_connect (DB_SERVER, DB_USERNAME, DB_PASSWORD, DB_DATABASE);
используйте DB_HOST вместо DB_SERVER
Посмотрите на свой код. Вы определили DB_HOST и запросили DB_SERVER. DB_USER и DB_USERNAME Используйте этот код
define("DB_SERVER", "localhost"); define("DB_USER", "root"); define("DB_PASSWORD", ""); define("DB_DATABASE", "databasename"); $connect = mysqli_connect(DB_SERVER , DB_USER, DB_PASSWORD, DB_DATABASE);
вы defIne как DB_USER, но используете как DB_USERNAME. Также php сообщает имя пользователя @ localhost cant access. Не root @ localhost.
Измените параметр define или connect paramater.
Это ваш код:
<?php define("DB_HOST", "localhost"); define("DB_USER", "root"); define("DB_PASSWORD", ""); define("DB_DATABASE", "databasename"); $db = mysqli_connect(DB_SERVER, DB_USERNAME, DB_PASSWORD, DB_DATABASE); ?>
Единственной ошибкой, которая вызывает это сообщение, является то, что:
DB_USER
но вы вызываете его как DB_USERNAME
. Пожалуйста, будьте осторожны в следующий раз.
Лучше для программиста начального уровня, который хочет начать кодирование в PHP
чтобы не использовать то, что он или она не знает очень хорошо.
ТОЛЬКО как совет, пожалуйста, попробуйте использовать (в первый раз) код более вездесущим.
ex: не используйте оператор define()
, попробуйте использовать объявление переменных как $db_user = 'root';
Приятного опыта 🙂
Убедитесь, что ваш пароль не имеет специальных символов и просто хранит простой пароль (например: 12345), он будет работать. Это самая странная вещь, которую я когда-либо видел. Я потратил около 2 часов, чтобы понять это.
Примечание: 12345, упомянутый ниже, является вашим простым паролем
GRANT ALL PRIVILEGES ON dbname.* TO 'yourusername'@'%' IDENTIFIED BY '12345';
В определении аргументов есть опечатка, измените DB_HOST на DB_SERVER и DB_USER на DB_USERNAME :
<?php define("DB_SERVER", "localhost"); define("DB_USERNAME", "root"); define("DB_PASSWORD", ""); define("DB_DATABASE", "databasename"); $db = mysqli_connect(DB_SERVER, DB_USERNAME, DB_PASSWORD, DB_DATABASE); ?>
Аналогичная проблема возникает со мной, с AWS RDS MySQL. Только сейчас, ответил на подобный вопрос . Посмотрел различные источники, но по этой теме почти весь недостаток ответа. Хотя этот поток помог мне, подстройте его для обновления имен хостов на сервере. Войдите в свой SSH и выполните следующие действия:
cd /etc/ sudo nano hosts
Теперь, добавляя сюда ваши имена хостов: Например:
127.0.0.1 localhost 127.0.0.1 subdomain.domain.com [if cname redirected to endpoints] 127.0.0.1 xxxxxxxx.xxxx.xxxxx.rds.amazonaws.com [Endpoints]
и теперь, конфигурируя config/database.php
следующим образом:
$active_group = 'default'; $query_builder = TRUE; $db['default'] = array( 'dsn' => '', 'hostname' => '35.150.12.345', 'username' => 'user-name-here', 'password' => 'password-here', 'database' => 'database-name-here', 'dbdriver' => 'mysqli', 'dbprefix' => '', 'pconnect' => FALSE, 'db_debug' => TRUE, 'cache_on' => FALSE, 'cachedir' => '', 'char_set' => 'utf8', 'dbcollat' => 'utf8_general_ci', 'swap_pre' => '', 'encrypt' => FALSE, 'compress' => FALSE, 'stricton' => FALSE, 'failover' => array(), 'save_queries' => TRUE );
где 35.150.12.345
– ваш IPv4 Public IP , расположенный на ec2-dashboard > Network Interfaces > Description : RDSNetworkInterface >> IPv4 Public
IP ('35 .150.12.345 ').
Примечание. Обратите внимание, что только IPV4 будет работать с параметром «hostname». hostname, cname, домены выведут ошибку подключения к базе данных.
На этот вопрос был дан ответ, просто чтобы вы чувствовали себя комфортно, используя все четыре строки одновременно в соединении
<?php define("DB_HOST", "localhost"); define("DB_USER", "root"); define("DB_PASSWORD", ""); define("DB_DATABASE", "databasename"); $db = new mysqli(DB_SERVER, DB_USERNAME, DB_PASSWORD, DB_DATABASE); // you could test connection eventually using a if and else conditional statement, // feel free to take out the code below once you see Connected! if ($db) { echo "Connected!"; } else { echo "Connection Failed"; } ?>
У меня возникла ошибка, связанная с подключением другого пользователя, а не с root
я установил для ограничения доступа.
В mysql я бы установил пользователя MofX
с хостом %
и он не соединился бы.
Когда я сменил хост пользователя на 127.0.0.1
, как в «MofX'@'127.0.0.1», он сработал.
Эта же проблема столкнулась со мной с XAMPP 7 и opencart Arabic 3. Замена localhost на фактическое имя машины решает проблему.
пытаться
define("DB_PASSWORD", null);
и это предупреждения
$db = @mysqli_connect(DB_SERVER,DB_USERNAME,DB_PASSWORD,DB_DATABASE);
Но я рекомендую вам установить пароль root
У вас есть два соединения одновременно? Если это так, закройте каждый раз, когда вам это не нужно.
$db = mysqli_connect(DB_SERVER,DB_USERNAME,DB_PASSWORD,DB_DATABASE); Put " DB_HOST " instead of " DB_SERVER " also put " DB_USER " Instead of " DB_USERNAME "
чем он работает нормально!
Попробуйте изменить:
define("DB_SERVER", "localhost");
к этому:
define("DB_SERVER", "127.0.0.1");