PHP如何调用MySQL存储过程并以表格形式显示出数据表内容。
我用的PHP5和MySQL5,建了个数据库mydb,里面有一个数据表admin,字段为id,name,password,在数据库中已经建立了显示该数据表的存储过程show...
我用的PHP 5和MySQL 5,建了个数据库mydb,里面有一个数据表admin,字段为id,name,password,在数据库中已经建立了显示该数据表的存储过程show_tables(in varchar(50)),在mysql控制台上正确运行,可以显示出admin中的所有内容。现在我要在php中调用该存储过程并且把本表格的内容以表格的形式显示出来,求大神指教,不胜感激。请个给个详细的可以执行的代码,写下注释,谢谢了。。
展开
2个回答
2012-05-22
展开全部
可以参考这个:
返回一个结果全世界都知道怎么处理,关键是返回多个结果集就不好办了,下面有一解决办法
存储过程代码
DELIMITER $$;
DROP PROCEDURE IF EXISTS `test`.`sp_test`$$
CREATE PROCEDURE `test`.`sp_test` ()
BEGIN
select * from `user`.`user` limit 0, 50;
select count(0) as `count` from `user`.`user`;
END$$
DELIMITER ;$$
php 代码
$rows = array ();
$db = new mysqli('127.0.0.1','root','123456','user');
if (mysqli_connect_errno()){
$this->message('Can not connect to MySQL server');
}
$db->query("SET NAMES UTF8");
if($db->real_query("call sp_test()")){
do{
if($result = $db->store_result()){
while ($row = $result->fetch_assoc()){
array_push($rows, $row);
}
$result->close();
}
}while($db->next_result());
}
$db->close();
返回一个结果全世界都知道怎么处理,关键是返回多个结果集就不好办了,下面有一解决办法
存储过程代码
DELIMITER $$;
DROP PROCEDURE IF EXISTS `test`.`sp_test`$$
CREATE PROCEDURE `test`.`sp_test` ()
BEGIN
select * from `user`.`user` limit 0, 50;
select count(0) as `count` from `user`.`user`;
END$$
DELIMITER ;$$
php 代码
$rows = array ();
$db = new mysqli('127.0.0.1','root','123456','user');
if (mysqli_connect_errno()){
$this->message('Can not connect to MySQL server');
}
$db->query("SET NAMES UTF8");
if($db->real_query("call sp_test()")){
do{
if($result = $db->store_result()){
while ($row = $result->fetch_assoc()){
array_push($rows, $row);
}
$result->close();
}
}while($db->next_result());
}
$db->close();
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询