This is a discussion on error in calling a stored procedure in php within the PHP General forums, part of the PHP Programming Forums category; i've a sql query as follows: SELECT tb1.col1,tb2.col1,tb3.col1 FROM tb1,tb2,tb3 where tb1....
|
|||||||
| FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
|
|||
|
i've a sql query as follows:
SELECT tb1.col1,tb2.col1,tb3.col1 FROM tb1,tb2,tb3 where tb1.col1=tb2.col2 AND tb3.col3=tb2.col3 AND tb2.col4 BETWEEN 4 AND 5 AND tb2.col5 BETWEEN 6 AND 7; if I run the above query thru php it works, but if i try to call a procedure for above query as shown below it thrws error ERROR 1064 (42000): the right syntax to use near 'tb1.col2 <? $wherestr = "tb2.col4 BETWEEN 4 AND 5 AND tb2.col5 BETWEEN 6 AND 7"; CALL proc4($wherestr); ?> Procedure#=> DELIMITER $$ DROP PROCEDURE IF EXISTS `midas`.`sp_dm_domain_keyword_mapping`$$ CREATE DEFINER=`oteuser`@`%` PROCEDURE `sp_dm_domain_keyword_mapping`( whereval varchar(500)) BEGIN set @whereval = whereval; set @sql1 = CONCAT('SELECT tb1.col1,tb2.col1,tb3.col1 FROM tb1,tb2,tb3 where tb1.col1=tb2.col2 AND tb3.col3=tb2.col3 AND ',@whereval); PREPARE stmt FROM @sql1; EXECUTE stmt using @whereval; DEALLOCATE PREPARE stmt; END$$ DELIMITER ; what is the error in above code? |