㈠ php调用mysql存储过程,如何实现。 我的代码如下:
mysql存储过程返回2个资源,第一个是执行信息,第二个是存储过程返回结果。
mysql_*系列函数无法获取超过1个资源,需使用mysqli或PDO代替。
PDO:
$stmt=$db->prepare("CALLpro_rb_save(?,?,@return_msg);");
$stmt->bindParam(1,$a);
$stmt->bindParam(2,$b);
$stmt->execute();
$outputArray=$db->query("select@return_msg")->fetch(PDO::FETCH_ASSOC);
var_export($return_msg);
㈡ 怎么写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);
㈢ 怎么写mysql存储过程,并用php调用它
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 就是了
㈣ PHP怎样调用MSSQL的存储过程
下面的例子代码, 仅仅用于演示枣慎 in out , 没有任何数据库检索辩空的处理。
注:Oracle 的 IN OUT 写在携岩瞎变量名后面。SQL> CREATE OR REPLACE PROCEDURE HelloWorld2 ( 2 p_user_name IN VARCHAR2, 3 p_out_val OUT VARCHAR2, 4 p_inout_val IN OUT VARCHAR2 5 ) AS 6 BEGIN 7 dbms_output.put_line('Hello ' || p_user_name || p_inout_val || '!'); 8 p_out_val := 'A'; 9 p_inout_val := 'B'; 10 END HelloWorld2; 11 /Procere created.SQL> DECLARE 2 p_outval VARCHAR2(10); 3 p_inoutval VARCHAR2(10) := '~Hi~'; 4 BEGIN 5 HelloWorld2('Edward', p_outval, p_inoutval); 6 7 dbms_output.put_line('p_outval=' || p_outval); 8 dbms_output.put_line('p_inoutval=' || p_inoutval); 9 END; 10 /Hello Edward~Hi~!p_outval=Ap_inoutval=BPL/SQL procere successfully completed.SQL>
㈤ PHP如何调用MySQL存储过程并以表格形式显示出数据表内容。
可以参考这个:
返回一个结果全世界都知道怎么处理,关键是返回多个结果集就不好办了,下面有一解决办法
存储过程代码
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();
㈥ 在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
㈦ PHP如何调用MYSQL的存储过程
php相当于执行mysql的伏亏终端,即模拟mysql的悔碰客户端,所以符号sql标准的语句都是可以执行的。
存储是由数据库本身建立起来的,与php没有关系,
具体查看缺前神mysql的命令
CREATE
[DEFINER = { user | CURRENT_USER }]
PROCEDURE sp_name ([proc_parameter[,...]])
[characteristic ...] routine_body
㈧ PHP SQL Server 存储过程调用基础问题
http://www.jb51.net/article/32097.htm
你现在的报错是提示什么呢,上面的代码是没有问题的。
能提供下错误信息吗,或者其他异常执行结果。
---
代码部分
1、把最上面的数据库连接可以或芦单独写一个 .php ,对应的释放数芦型据库也写单衫哗带独写一个 .php页面 供其他页面直接调用,不需要每次都是去连
2、建议尝试下面向对象写法,