首页 > 解决方案 > 查询在 phpmyadmin 中执行,但不在 PHP Wordpress 中

问题描述

我有这个在 PHPMYADMIN 上执行但不在 Wordpress 中的 PHP 代码中执行的查询:

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 服务器版本相对应的手册,以获取正确的语法,以便在第 1 行的“CREATE FUNCTION IF NOT EXISTS SPLIT_STR(x VARCHAR(255), delim VARCHAR(12), p INT”] DROP PROCEDURE IF EXISTS LoopDemo;如果不存在则创建函数 SPLIT_STR(x VARCHAR(255), delim VARCHAR(12), p INT) 返回 VARCHAR(255) 返回替换(SUBSTRING(SUBSTRING_INDEX(x, delim, p), LENGTH(SUBSTRING_INDEX(x, delim, p) -1)) + 1), 分隔符, '');

标签: phpmysqlwordpress

解决方案


推荐阅读