Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/243.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 存储过程中的CONCAT等MySQL语法问题_Php_Mysql_Sql_Stored Procedures - Fatal编程技术网

Php 存储过程中的CONCAT等MySQL语法问题

Php 存储过程中的CONCAT等MySQL语法问题,php,mysql,sql,stored-procedures,Php,Mysql,Sql,Stored Procedures,我有一个存储过程来获取id。它是姓氏,名为“Stone,Cold”,并与我var_dump时传递的_fullname进行比较 弦(13)石,冷 应该有身份证明 IF NOT ISNULL(_fullname) THEN SET _fullname = TRIM(_fullname); SET clause = CONCAT( clause , ' AND CONCAT(c.lname, ', ', c.fname) LIKE CONCAT('%',_fullname,'%

我有一个存储过程来获取id。它是姓氏,名为“Stone,Cold”,并与我var_dump时传递的_fullname进行比较

弦(13)石,冷

应该有身份证明

IF NOT ISNULL(_fullname) THEN
    SET _fullname   = TRIM(_fullname);
    SET clause = CONCAT( clause , ' AND CONCAT(c.lname, ', ', c.fname) LIKE   CONCAT('%',_fullname,'%')');
END IF;
当我在MySQL中尝试相同的查询时,它工作得非常好,但在过程中不起作用。我确信问题在于存储过程中的语法。

请尝试:

分隔符//
下降程序(如果存在)`sp_测试`//
创建过程'sp_test'(在'u fullname'VARCHAR(20)中)
开始
声明'Claire`VARCHAR(500)DEFAULT';
如果不是ISNULL(`u fullname`),则
设置“\u fullname”:=TRIM(`u fullname`);
将`子句`:=CONCAT(`子句`,`和CONCAT(`c`.`lname`,''''',`c`.`fname`)设置为像''''''''%'',''u fullname`,'%'');
如果结束;
选择“子句”;
结束//
定界符;

首先,正确标记问题(MySQL或SQL Server?)。第二,使用双单引号来转义字符串常量中的单引号。@GordonLinoff Thnx用于应答,但它仍然不起作用!!!你能详细说明一下吗。