我有一个存储过程,我想将一个字符串传递给它,以便在查询中进行评估。
我将根据现有的查询参数在 php 中构建一个字符串。
因此,我的字符串可能是 col1 = val1
或 col1 = val1 AND col2 = val2 AND col3 = val3
等。
然后在我的存储过程中,我会做这样的事情:
SET @s = CONCAT('SELECT * from tablename WHERE ' , string);
从@s 准备 stmt;
执行 stmt;
我尝试了一些不同的方法来做到这一点,但没有成功。
这可能吗?
谢谢。
最佳答案
您的代码有效,但您可能有错误。 尝试通过替换来调试它 从@s 准备 stmt;执行指令;
与
选择@s;
然后通过运行它来确保输出有效,这可能是您构建的@s 不正确。
关于mysql - 评估 MySQL 存储过程中的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1881597/