當前位置:首頁 » 編程語言 » php調用sql存儲過程
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

php調用sql存儲過程

發布時間: 2023-05-02 03:57:49

㈠ 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調用它

  • 實現原理

  1. 首先,需要知道怎麼氏爛寫mysql存儲過程,了解mysq存儲過程語言,

  2. 其次,使用mysql工具創建存儲過虧咐程。

  3. 最後,通過mysql_query()函數執行mysql變數的設置和mysql存儲過程及返回值。

  • 具體代碼如下:

  1. 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、建議嘗試下面向對象寫法,