开发者

mysql stored procedures using php

I have a stored procedure:

delimiter //

create procedure userlogin(in eml varchar(50))

begin

  select * from users 

  where email = eml;

end//

delimiter ;

And the php:

$db = new mysqli("localhost","root","","houseDB");

$eml = "tsubi@gmail.com";

$sql = $db->query("CALL us开发者_Go百科erlogin('$eml')");

$result = $sql->fetch_array();

The error that I get from the browser when I run the php script:

Fatal error: Call to a member function fetch_array() on a non-object...

I am using phpmyadmin version 3.2.4 and mysql client version 5.1.41.


You have to use mysqli_multi_query, not query. Check http://us.php.net/manual/en/mysqli.multi-query.php , they have a good example


mysqli::query returns false if the query fails (instead of returning a result object or true). You need to test whether the result actually is an object:

$sql = $db->query("CALL userlogin('$eml')");

if (is_object($sql)) 
$result = $sql->fetch_array();
else
printf("Error: %s\n", $sql->error);

You will probably get an error message explaining why calling the stored procedure didn*t work out.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜