error in calling a stored procedure in php

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Gayatri

    error in calling a stored procedure in php

    i've a sql query as follows:

    SELECT tb1.col1,tb2.co l1,tb3.col1 FROM tb1,tb2,tb3 where
    tb1.col1=tb2.co l2 AND tb3.col3=tb2.co l3 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=`oteuse r`@`%` PROCEDURE `proc4`( whereval varchar(500))
    BEGIN

    set @whereval = whereval;


    set @sql1 = CONCAT('SELECT tb1.col1,tb2.co l1,tb3.col1 FROM tb1,tb2,tb3
    where tb1.col1=tb2.co l2 AND tb3.col3=tb2.co l3 AND ',@whereval);
    PREPARE stmt FROM @sql1;

    EXECUTE stmt using @whereval;
    DEALLOCATE PREPARE stmt;


    END$$

    DELIMITER ;

    what is the error in above code?

Working...