从 PHP 我使用准备好的语句(通过绑定参数)并将数据发送到以下存储过程
CREATE PROCEDURE test_my_add_comment(in var_details text, in var_table_name varchar(50))
BEGIN
SET @s = CONCAT('INSERT INTO ',var_table_name,'(details) VALUES("',var_details,'")');
PREPARE stmt FROM @s;
EXECUTE stmt;
COMMIT;
END;
我的桌子
CREATE TABLE `test_table` (
`details` text NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
如果文本不包含任何引号,则插入记录,但如果文本包含引号,则会引发任何错误。
有人可以建议我解决这个问题吗?
我的假设是准备好的语句应该处理这种情况。