У меня есть этот запрос, который выполняется на PHPMYADMIN, но не в PHP коде в Wordpress:
DROP PROCEDURE IF EXISTS LoopDemo;
CREATE FUNCTION IF NOT EXISTS SPLIT_STR(x VARCHAR(255), delim VARCHAR(12), p INT)
RETURNS VARCHAR(255) RETURN REPLACE(SUBSTRING(SUBSTRING_INDEX(x, delim, p), LENGTH(SUBSTRING_INDEX(x, delim, p -1)) + 1), delim, '');
Это PHP:
$create_func = $wpdb->prepare("DROP PROCEDURE IF EXISTS LoopDemo; CREATE FUNCTION IF NOT EXISTS SPLIT_STR(x VARCHAR(255), delim VARCHAR(12), p INT) RETURNS VARCHAR(255) RETURN REPLACE(SUBSTRING(SUBSTRING_INDEX(x, delim, p), LENGTH(SUBSTRING_INDEX(x, delim, p -1)) + 1), delim, '');");
$saved = $wpdb->get_results($create_func);
Это ошибка, которая выброшено:
В вашем синтаксисе SQL произошла ошибка; проверьте руководство, соответствующее вашей версии сервера MariaDB, на предмет правильного синтаксиса для использования рядом с 'СОЗДАЙТЕ ФУНКЦИЮ, ЕСЛИ НЕ СУЩЕСТВУЕТ SPLIT_STR (x VARCHAR (255), delim VARCHAR (12), p INT' в строке 1] ПРОЦЕДУРА УДАЛЕНИЯ, ЕСЛИ СУЩЕСТВУЕТ LoopDemo; СОЗДАЙТЕ ФУНКЦИЮ, ЕСЛИ НЕ СУЩЕСТВУЕТ SPLIT_STR (x VARCHAR (255), delim VARCHAR (12), p INT) ВОЗВРАЩАЕТСЯ VARCHAR (255), ЗАМЕНИТЕ ВОЗВРАТ (SUBSTRING_INDEX (x, delim, p), LENGTH (SIMS_SINSING (SUBST) -1)) + 1), разделитель, '');