mysql 包含多个变量的准备语句
mysql prepared statements with multiple variables
使用一个变量不会给我一个错误。有两个变量,它给我一个语法错误。
set @a= '...';
set @b = '...';
PREPARE stm1 FROM
'SELECT *
FROM ?
WHERE username = ?';
EXECUTE stm1 USING @a, @b;
Error Code: 1064. You have an error in your SQL syntax;
check the manual that corresponds to your MySQL server version
for the right syntax to use near '? WHERE username = ?' at line 2
其他问题没有帮助。
谢谢
您不能为 table 名称使用参数。您必须使用串联来替换 table.
的变量
PREPARE stm1 FROM CONCAT(
'SELECT *
FROM `', @a, '`
WHERE username = ?');
EXECUTE stmt1 USING @b;
使用一个变量不会给我一个错误。有两个变量,它给我一个语法错误。
set @a= '...';
set @b = '...';
PREPARE stm1 FROM
'SELECT *
FROM ?
WHERE username = ?';
EXECUTE stm1 USING @a, @b;
Error Code: 1064. You have an error in your SQL syntax;
check the manual that corresponds to your MySQL server version
for the right syntax to use near '? WHERE username = ?' at line 2
其他问题没有帮助。
谢谢
您不能为 table 名称使用参数。您必须使用串联来替换 table.
的变量PREPARE stm1 FROM CONCAT(
'SELECT *
FROM `', @a, '`
WHERE username = ?');
EXECUTE stmt1 USING @b;