【发布时间】:2011-08-04 06:10:30
【问题描述】:
我用mysql写了一个基本的存储过程
DELIMITER //
CREATE PROCEDURE `sp_sel_test`()
BEGIN
SELECT * FROM category c;
END//
DELIMITER ;
现在我从 php 调用它
php代码是:
<?php
$txt = $_GET['id'];
$name = $_GET['name'];
$con = mysql_connect("localhost","four","password");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("fourthes_a", $con);
//$result = mysql_query("select * from new_c where name like %". $name ."% or c_name like %" . $name . "% order by name asc;");
$result = mysql_query("call sp_sel_test()");
if ($result === FALSE) {
die(mysql_error());
}
while($row = mysql_fetch_array($result))
{
echo $row['category_id'] . " " . $row['c_name'];
?>
<br />
<?php
}
mysql_close($con);
echo $txt;
?>
现在它给出了错误
PROCEDURE Fourthes_a.sp_sel_test 无法返回给定上下文中的结果集
【问题讨论】:
-
源代码似乎与错误信息不符。哪一行是 26?
-
你是从phpmyadmin,还是从mysql命令行测试过存储过程是否按预期返回?
-
phpmyAdmin 还说 PROCEDURE Fourthes_a.sp_sel_test 无法返回给定上下文中的结果集
-
你的 php 代码很好,它的存储过程坏了。
-
我感觉它是由于 php 版本...它显示 5.2.9
标签: php mysql stored-procedures