Hopefully someone can help me, for I have queried the web with no success or concrete answer to this error. I’m using Windows and Xampp. Here is the error I am getting aft
Just log out of phpMyAdmin, that is all you need to do
One way to resolve this is to login to your root user in phpmyadmin, go to the users tab, find and select the specific user that can't access the select and other queries . Then tick the all checkboxes and just click go. Now that user can select, update and whatever they want.
Another option is to disable this functionality. If we allow access on the server only for reading Disable pmadb
$cfg['Servers'][$i]['userconfig'] =false; $cfg['Servers'][$i]['pmadb'] = false; $cfg['Servers'][$i]['bookmarktable'] = false; $cfg['Servers'][$i]['relation'] = false; $cfg['Servers'][$i]['table_info'] = false; $cfg['Servers'][$i]['table_coords'] = false; $cfg['Servers'][$i]['pdf_pages'] = false; $cfg['Servers'][$i]['column_info'] = false; $cfg['Servers'][$i]['history'] = false; $cfg['Servers'][$i]['table_uiprefs'] = false; $cfg['Servers'][$i]['tracking'] = false; $cfg['Servers'][$i]['designer_coords'] = false; $cfg['Servers'][$i]['userconfig'] = false; $cfg['Servers'][$i]['recent'] = false;
The pma_table_uiprefs table contains user preferences. In phpMyAdmin's config.inc.php, access to this table (and other tables in the configuration storage) is done via the control user. In your case, the controluser parameter is empty, therefore the query fails.
For a short-term fix, put the "//" characters in config.inc.php at the start of this line:
$cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';
then log out and log back in.
For a long-term fix, correctly set up the configuration storage, see http://docs.phpmyadmin.net/en/latest/setup.html#phpmyadmin-configuration-storage
There is another way of solving this.
Following the instructions in http://docs.phpmyadmin.net/en/latest/setup.html#phpmyadmin-configuration-storage:
1.- I opned xampp\phpMyAdmin\config.inc.php file and found the following lines:
/* User for advanced features */\\
$cfg['Servers'][$i]['controluser'] = 'pma';
$cfg['Servers'][$i]['controlpass'] = '';
2.- Then I observed in phpmyadmin the following tables:
DATABASE: phpmyadmin
TABLES: pma_bookmark pma_column_info pma_designer_coords pma_history pma_pdf_pages pma_recent pma_relation pma_table_coords pma_table_info pma_table_uiprefs pma_tracking pma_userconfig
3.- I run this sql statement:
GRANT SELECT , INSERT , UPDATE , DELETE ON phpmyadmin.* TO `pma`@`localhost` IDENTIFIED BY ''
And it worked.
I know this may sound absurd, but I solved a similar issue by creating the database as "phpMyAdmin" not "phpmyadmin" (note case) - perhaps there is something about case-sensitivity under Windows?