вставить команду в mysql

У меня есть таблица базы данных, из которой, когда я выбираю данные с именем пользователя и паролем, он работает, но когда я вставляю некоторые данные в эту таблицу с одинаковым именем пользователя и паролем, это показывает мне ошибку

INSERT command denied to user 'username'@'localhost' for table 'tablename' 

Я искал с помощью Google, а у кого-то была такая же проблема с размером db. Я проверил свой db, и когда я перехожу непосредственно к phpmyadmin для вставки данных в таблицу, он работает, но когда я вызываю запрос в таблицу из скрипта PHP, это дает мне ошибку.

Это проблема с разрешениями. Войдите в приглашение MySQL с пользователем, которым работает приложение, и введите этот запрос:

 SHOW GRANTS; 

Это покажет вам привилегии ( гранты в MySQL-talk), которые есть у текущего пользователя. Я предполагаю, что вы не увидите привилегии INSERT для данной таблицы. Вам понадобится пользователь root, чтобы предоставить вам разрешение, выполнив этот запрос:

 GRANT INSERT ON 'db'.'tablename' TO 'username'@'localhost' 

У меня была аналогичная проблема после переноса моего сайта с одной учетной записи хостинга на другую. Проблема была вызвана SQL-запросом ( INSERT ), который ссылался на старую базу данных. заменив старый db новым именем db (или просто удалив имя db в целом), решила проблему. Но эта ошибка заставила людей поддержать мою хостинговую компанию.

Пример:

 INSERT INTO old_db_name.table_name ( ) VALUES (); 

Изменился на:

 INSERT INTO new_db_name.table_name ( ) VALUES ( ); 

Надеюсь, это помогает и имеет смысл.

Проверьте код SQL.

И просто удалите dbName, если у вас есть.

Пример:

 insert into `dbName`.`tableName` ( columns ) values ( values ); 

Изменить на:

 insert into `tableName` ( columns ) values ( values ); 

Это также случилось со мной, и проблема в том, что когда вы вызываете команду INSERT в вашем php-файле, вы должны указать другую базу данных.

Короче, найдите, где находится ваша команда INSERT, и проверьте ее your_database_name ниже

 "INSERT INTO \`your_database_name\`.\`your_table_name\` 

Это может решить вашу проблему. Конечно, если вам предоставлены все привилегии.

В вашем запросе вы можете использовать имя таблицы с именем базы данных «INSERT INTO DB_NAME.table_name …», где у пользователя базы данных нет разрешений на вставку для DB_NAME. Таким образом, эта ошибка возникает, потому что запрос указывает на таблицу другой базы данных.

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

Убедитесь, что у вас есть открытое соединение с базой данных.

Если у вас есть отдельные функции для подключения к базе данных и для значений вставки проверьте подключение к базе данных открыто или нет.