I am using a stored procedure with a prepared statment to find rows from a string of email addresses.
It looks like this:
DELIMITER $$
CREATE DEFINER=`root`@`localhost` PROCEDURE `get_users_by_email`(IN emailString VARCHAR(100))
BEGIN
SET @sql = CONCAT('SELECT user_id FROM users WHERE user_email IN (',emailString,')');
PREPARE qry FROM @sql;
EXECUTE qry;
END
I then call the procedure using:
CALL get_users_by_email('me@email.com,you@email.com, etc..');
But, I receive this error:
Unknown column in 'me@email.com' in 'where clause'
The query works if I use it to find numeric values such as:
CALL get_users_by_email('123,456');
Any ideas why it would be erroring on alphanumeric values? The query works fine when it is pulled out of the prepared statement and procedure.
You need string delimiters around your email address: