php和mysql的交互过程_php 与mysql交互的存储过程

*/

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 "";

}

else

{

echo "";

}

$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'] . '
';

}

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() 就能了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值