mysql的存储过程,php怎么调用存储过程的?
存储过程是在mysql服务端创建好,php来调用么
存储过程是在mysql服务端创建好,php来调用么
2015-12-05
存储过程需要先在服务器端执行好。然后使用php时就可以通过发送 CALL 存储过程名 来调用存储过程。如下:(案例中存储过程名为 sp1)
CREATE PROCEDURE sp1() SELECT VERSION();
<?php
//1.创建MySQLi对象
$mysqli = new MySQLi("XXX","XXX","XXX","XXX"); //第一个参数是 MySQL服务器的地址;第二个参数是客户端登陆的账号;第三个参数是密码;第四个参数是选择的数据库
//验证是否ok
if($mysqli->connect_error) {
die("连接失败".$mysqli->connect_error);
}
$mysqli->query("set names utf8") or die($mysqli->mysqli_error());
//2.操作数据库(发送sql)
$sql = "CALL sp1()";
$res=$mysqli->query($sql);
//3.处理得到的结果
//循环取出$res中的数据
while($row=mysqli_fetch_row($res)) {
foreach($row as $key=>$val) {
echo "--$val";
}
echo '<br/>';
}
//4.关闭资源
mysqli_free_result($res);
mysqli_close($mysqli);
大概是这样的。如果有错误的话,也希望大家指出来呀~
举报