I have a query which fails when using "Simulate query". When using "Go", it properly executes.
The query:
UPDATE `pma_column_info` SET `transformation` = REPLACE(REPLACE(`transformation`, '__', '_'), 'inc.php', 'class.php');
(It is a phpMyAdmin 4.3+ update query from the manual. - And yes, I am really using single-underline pma prefix.)
The error:
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''__''_')'inc.php''class.php') FROM `pma_column_info` WHERE' at line 1
Hi,
This is because of if block at libraries/import.lib.php:1525.
Does someone know why terms following a punctuation should be ignored please? I can't find a reason.
Is it not to get columns after the "="?
Here is the final query generated from the update, to find matched rows:
SELECT `transformation`, (REPLACE(`transformation`'__''_')'inc.php''class.php') FROM
pma_column_info
WHEREWe can easily understand why there is an error.
Thanks for feed back.
See https://github.com/phpmyadmin/phpmyadmin/pull/1616
Last edit: Marc Delisle 2015-03-28
Fix: https://github.com/phpmyadmin/phpmyadmin/commit/cc56e0966718fbf1dc56b37f9a8c151b15722a7f
will be present in 4.3.13 and 4.4.1.