| 
	
 | 
 Posted by Gayatri on 10/31/06 12:22 
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 `dbname`.`proc4`$$ 
CREATE DEFINER=`oteuser`@`%` PROCEDURE `proc4`( 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?
 
  
Navigation:
[Reply to this message] 
 |