php调用mysql存储过程
mysql创建的存储,在mysql里执行就可以
create procere pr_user_get(
p_user_id int -- 传入的参数
)
proc_start:begin
select b.*
from table1 as a,table2 as b
where a.userid = p_user_id
and a.username = b.username;
end proc_start
php调用
$sql = "call pr_user_get('$userid')";
$result = mysql_query($sql);
$row = mysql_fetch_array($result);
$row 就是了
② 怎么写mysql存储过程,并用php调用它
实现原理
首先,需要知道怎么写mysql存储过程,了解mysq存储过程语言,
其次,使用mysql工具创建存储过程。
最后,通过mysql_query()函数执行mysql变量的设置和mysql存储过程及返回值。
具体代码如下:
mysql存储过程代码
createprocerepro_name(user_idint)
begin
.........
end
2. PHP代码
$host="localhost";
$user="root";
$password="232412";
$db="user_db";
$dblink=mysql_connect($host,$user,$password)ordie("can'tconnecttomysql");
mysql_select_db($db,$dblink)ordie("can'tselectuser_db");
$user_id=1;
$res=mysql_query("set@a=$user_id",$dblink);
$res=mysql_query("callpro_name(@a)",$dblink);
③ PHP如何调用MYSQL的存储过程
php相当于执行mysql的终端,即模拟mysql的客户端,所以符号sql标准的语句都是可以执行的。
存储是由数据库本身建立起来的,与php没有关系,
具体查看mysql的命令
CREATE
[DEFINER = { user | CURRENT_USER }]
PROCEDURE sp_name ([proc_parameter[,...]])
[characteristic ...] routine_body
④ php调用mysql存储过程(急,在线等)
关键就是两点
1)define('CLIENT_MULTI_RESULTS', 131072);
2)$link = mysql_connect("127.0.0.1", "root", "",1,CLIENT_MULTI_RESULTS) or die("Could not connect: ".mysql_error());
下面就可以正常使用了,以下是例子程序。
<?php
define('CLIENT_MULTI_RESULTS', 131072);
$link = mysql_connect("127.0.0.1", "root", "",1,CLIENT_MULTI_RESULTS) or die("Could not connect: ".mysql_error());
mysql_select_db("vs") or die("Could not select database");
?>
<?php
$result = mysql_query("call get_news_from_class_id(2)") or die("Query failed:" .mysql_error());
while($row = mysql_fetch_array($result, MYSQL_ASSOC))
{
$line = '<tr><td><a target = _blank href=\''.$row["url"].'\'>'.$row["title"].'('.$row["page_time"].')'.'</a></td></t
r>';
echo $line;
printf("\n");
}
mysql_free_result($result);
?>
<?php
mysql_close($link);
?>
⑤ 在PHP中怎么调用mysql存储过程用到哪些函数
<?php
//建立数据库连接
$link = mysqli_connect('localhost','root','root','mydb');
$sql = "call getEmail('00056')";
//设置字符集
mysqli_query($link,"set names gbk");
$result = mysqli_query($link,$sql);
$row = mysqli_fetch_array($result);
echo "邮件地址:".$row['email'];
?>
这里有两篇教程说得非常详细:
《MySQL 5 存储过程》:http://www.sunchis.com/html/php/mysql/2010/0305/42.html
《PHP调用存储过程》:http://www.sunchis.com/html/php/mysql/2010/0305/43.html