[ciapug] More MySQL issues
Dave J. Hala Jr.
dave at 58ghz.net
Fri Jul 14 10:56:17 CDT 2006
Why would you want to user a stored procedure to return a result set to
a php script?
On Fri, 2006-07-14 at 10:45, Carl Olsen wrote:
> Apparently, MySQL Stored Procedures don’t support the LIMIT function
> very well. In order to get a Stored Procedure to return a set or rows
> using the LIMIT function, you have to do some procedural gymnastics,
> such as:
>
>
>
> DELIMITER $$;
>
>
>
> DROP PROCEDURE IF EXISTS `news`.`sp_News_ReturnApprovedArticles`$$
>
>
>
> CREATE PROCEDURE `sp_News_ReturnApprovedArticles`(IN sp_var1 INT, IN
> sp_var2 CHAR(10), IN sp_var_skip INT, IN sp_var_count INT)
>
> BEGIN
>
> SET @String1 = concat(concat(concat("SELECT * FROM news_article WHERE
> cid = ",sp_var1," AND sdatedisplay >= '",sp_var2,"' AND sdatedisplay <
> DATE_ADD('",sp_var2,"',INTERVAL 1 MONTH) AND iapproved = 1 ORDER BY
> iorder ASC, sdatedisplay DESC LIMIT "),sp_var_skip,","),sp_var_count);
>
> PREPARE Stmt FROM @String1;
>
> EXECUTE Stmt;
>
> SET @String1 = "";
>
> END$$
>
>
>
> DELIMITER ;$$
>
>
>
> When you run this as a query, it returns a set of records as you would
> expect. However, when I call it from a PHP prepared statement, I get
> extremely unusual results. I get the correct number of rows each
> time, but the data is scrambled beyond recognition. I get some
> characters that don’t display correctly. The data is all numbers,
> except for the characters that it doesn’t recognize (it just displays
> them as an empty square). I’m thinking it returning binary data or
> something bizarre like that. I finally gave up on this and skipped
> the stored procedure and ran the query inside a prepared statement.
> Prepared Statements seems to work for anything I can come up with, but
> Stored Procedures seem to have limited functionality.
>
>
>
> --
> Carl Olsen, MCSE
>
> Web Developer, CMS Implementation
>
> Marketing and Communications
> Drake University
> 2507 University Avenue
> 316 Old Main
> Des Moines, Iowa 50311-4505
> Phone: 515-271-2986
> Fax: 515-271-3798
> Carl.Olsen at drake.edu
> www.drake.edu
>
>
>
>
>
> ______________________________________________________________________
> _______________________________________________
> ciapug mailing list
> ciapug at cialug.org
> http://cialug.org/mailman/listinfo/ciapug
--
Open Source Information Systems, Inc. (OSIS)
Dave J. Hala Jr., President <dave at osis.us>
641.485.1606
More information about the ciapug
mailing list