php 与mysql交互的存储过程
2012-02-17 13:55
302 查看
*/
delimiter //
create procedure pro_reg (in nc varchar(50), in pwd varchar(50), in email varchar(50),in address varchar(50))
begin
insert into tb_reg (name, pwd ,email ,address) values (nc, pwd, email, address);
end;
调用存储过程pro_reg,实现将用户录入的注册信息保存到数据库教程。代码如下:
if($sql=$conn->query("call pro_reg('".$nc."','".$pwd."','".$email."','".$address."')"))
{
echo "<script>alert('用户注册成功!');</script>";
}
else
{
echo "<script>alert('用户注册失败!');</script>";
}
$link = mysqli_connect('localhost' , 'root' , '12345' , 'test') or die('cant connect to localhost.');
$query_id = mysqli_query($link , 'call myselect();');
while($rs = mysqli_fetch_array($query_id))
{
echo $rs['a'] . '<br />';
}
mysqli_close($link);
//方法二
$host="localhost";
$user="root";
$password="11212";
$db="samp_db";
$dblink=mysql_connect($host,$user,$password)
or die("can't connect to mysql");
mysql_select_db($db,$dblink)
or die("can't select samp_db");
$res=mysql_query("set @a=$password",$dblink);
$res=mysql_query("call aa(@a)",$dblink);
$res=mysql_query("select @a",$dblink);
$row=mysql_fetch_row($res);
echo $row[0];
/*
1。调用存储过程的方法。
a。如果存储过程有 in/inout参数,声明一个变量,输入参数给存储过程,该变量是一对,
一个php变量(也能不必,只是没有php变量时,没有办法进行动态输入),一个mysql
变量。
b。如果存储过程有out变量,声明一个mysql变量。
mysql变量的声明比较特别,必须让mysql服务器知道此变量的存在,其实也就是执行一条mysql语句。
入set @mysqlvar=$phpvar ;
c。使用mysql_query()/mysql_db_query()执行mysql 变量声明语句。
mysql_query("set @mysqlvar【=$pbpvar】");
这样,在mysql服务器里面就有一个变量,@mysqlar。如果时in参数,那么其值能有phpar传入。
d。 如果时存储过程。
1。执行 call procedure()语句。
也就是mysql_query("call proceduer([var1]...)");
2. 如果有返回值,执行select @ar,返回执行结果。
mysql_query("select @var)"
接下来的操作就和php执行一般的mysql语句相同了。能通过mydql_fetch_row()等函数获得结果。
如果时函数。 直接执行 select function() 就能了。
delimiter //
create procedure pro_reg (in nc varchar(50), in pwd varchar(50), in email varchar(50),in address varchar(50))
begin
insert into tb_reg (name, pwd ,email ,address) values (nc, pwd, email, address);
end;
调用存储过程pro_reg,实现将用户录入的注册信息保存到数据库教程。代码如下:
if($sql=$conn->query("call pro_reg('".$nc."','".$pwd."','".$email."','".$address."')"))
{
echo "<script>alert('用户注册成功!');</script>";
}
else
{
echo "<script>alert('用户注册失败!');</script>";
}
$link = mysqli_connect('localhost' , 'root' , '12345' , 'test') or die('cant connect to localhost.');
$query_id = mysqli_query($link , 'call myselect();');
while($rs = mysqli_fetch_array($query_id))
{
echo $rs['a'] . '<br />';
}
mysqli_close($link);
//方法二
$host="localhost";
$user="root";
$password="11212";
$db="samp_db";
$dblink=mysql_connect($host,$user,$password)
or die("can't connect to mysql");
mysql_select_db($db,$dblink)
or die("can't select samp_db");
$res=mysql_query("set @a=$password",$dblink);
$res=mysql_query("call aa(@a)",$dblink);
$res=mysql_query("select @a",$dblink);
$row=mysql_fetch_row($res);
echo $row[0];
/*
1。调用存储过程的方法。
a。如果存储过程有 in/inout参数,声明一个变量,输入参数给存储过程,该变量是一对,
一个php变量(也能不必,只是没有php变量时,没有办法进行动态输入),一个mysql
变量。
b。如果存储过程有out变量,声明一个mysql变量。
mysql变量的声明比较特别,必须让mysql服务器知道此变量的存在,其实也就是执行一条mysql语句。
入set @mysqlvar=$phpvar ;
c。使用mysql_query()/mysql_db_query()执行mysql 变量声明语句。
mysql_query("set @mysqlvar【=$pbpvar】");
这样,在mysql服务器里面就有一个变量,@mysqlar。如果时in参数,那么其值能有phpar传入。
d。 如果时存储过程。
1。执行 call procedure()语句。
也就是mysql_query("call proceduer([var1]...)");
2. 如果有返回值,执行select @ar,返回执行结果。
mysql_query("select @var)"
接下来的操作就和php执行一般的mysql语句相同了。能通过mydql_fetch_row()等函数获得结果。
如果时函数。 直接执行 select function() 就能了。
相关文章推荐
- [轉]PHP与MYSQL的存储过程
- PHP数据库 mysql(三)事务、存储函数,存储过程,触发器、权限设置
- PHP执行MYSQL存储过程报错:Commands out of sync; you can't run this command now
- php调用mysql存储过程
- php用mysql_query()调用存储过程后无法再执行sql报错:commands out of sync you can't run this command now
- Android客户端和php+mysql+apache搭建的服务器之间的简单交互
- php+mysql中存储过程性能简单比较
- PHP_PDO 调用mysql 带返回参数的存储过程
- php和mysql的交互
- php mysql 调用多个存储过程 不关闭连接
- PHP执行MYSQL存储过程报错:Commands out of sync; you can't run this command now 问题的解决
- php连接mysql是否应该使用存储过程以及优劣势和使用场景
- php调用mysql 存储过程
- PHP和MYSQL交互函数表学习笔记
- PHP操作MySQL存储过程
- Java、PHP、Python与MySQL交互的性能测试
- 用 PHP 调用 MySQL 存储过程
- php调用mysql存储过程返回多个结果集的处理
- PHP Memcache的安装使用及与mysql交互实例
- PHP Memcache的安装使用及与mysql交互实例