error in calling a stored procedure in php



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?

.



Relevant Pages

  • Re: error in calling a stored procedure in php
    ... 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 ... DELIMITER $$ ... EXECUTE stmt using @whereval; ...
    (comp.lang.php)
  • Re: Standard Database Interface?
    ... When the community adopts a common DB API. ... Running an update as a query will lock up ... object query stmt - Evaluate a statement, ... object arrayeval stmt body - ...
    (comp.lang.tcl)
  • error in calling a stored procedure in php
    ... i've a sql query as follows: ... if I run the above query thru php it works, but if i try to call a ... DELIMITER $$ ... EXECUTE stmt using @whereval; ...
    (alt.php)
  • error in calling a stored procedure in php
    ... i've a sql query as follows: ... if I run the above query thru php it works, but if i try to call a ... DELIMITER $$ ... EXECUTE stmt using @whereval; ...
    (php.general)
  • error in calling a stored procedure in php
    ... i've a sql query as follows: ... if I run the above query thru php it works, but if i try to call a ... DELIMITER $$ ... EXECUTE stmt using @whereval; ...
    (comp.lang.php)