課程
/數據庫
/MySQL
/與MySQL的零距離接觸
存儲過程是在mysql服務端創建好,php來調用么
2015-12-05
源自:與MySQL的零距離接觸 8-8
正在回答
當然是mysql建立好了php來調用啊
PDO::exec('call?someting()');
紫_風 提問者
存儲過程需要先在服務器端執行好。然后使用php時就可以通過發送 CALL 存儲過程名 來調用存儲過程。如下:(案例中存儲過程名為 sp1)
CREATE PROCEDURE sp1() SELECT VERSION();
<?php
//1.創建MySQLi對象
$mysqli = new MySQLi("XXX","XXX","XXX","XXX"); //第一個參數是 MySQL服務器的地址;第二個參數是客戶端登陸的賬號;第三個參數是密碼;第四個參數是選擇的數據庫
//驗證是否ok
if($mysqli->connect_error) {
die("連接失敗".$mysqli->connect_error);
}
$mysqli->query("set names utf8") or die($mysqli->mysqli_error());
//2.操作數據庫(發送sql)
$sql = "CALL sp1()";
$res=$mysqli->query($sql);
//3.處理得到的結果
//循環取出$res中的數據
while($row=mysqli_fetch_row($res)) {
foreach($row as $key=>$val) {
echo "--$val";
echo '<br/>';
//4.關閉資源
mysqli_free_result($res);
mysqli_close($mysqli);
大概是這樣的。如果有錯誤的話,也希望大家指出來呀~
舉報
本課程涵蓋全部MySQL數據庫的基礎,學習MySQL數據庫的基礎知識
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2015-12-15
當然是mysql建立好了php來調用啊
2016-02-22
存儲過程需要先在服務器端執行好。然后使用php時就可以通過發送 CALL 存儲過程名 來調用存儲過程。如下:(案例中存儲過程名為 sp1)
CREATE PROCEDURE sp1() SELECT VERSION();
<?php
//1.創建MySQLi對象
$mysqli = new MySQLi("XXX","XXX","XXX","XXX"); //第一個參數是 MySQL服務器的地址;第二個參數是客戶端登陸的賬號;第三個參數是密碼;第四個參數是選擇的數據庫
//驗證是否ok
if($mysqli->connect_error) {
die("連接失敗".$mysqli->connect_error);
}
$mysqli->query("set names utf8") or die($mysqli->mysqli_error());
//2.操作數據庫(發送sql)
$sql = "CALL sp1()";
$res=$mysqli->query($sql);
//3.處理得到的結果
//循環取出$res中的數據
while($row=mysqli_fetch_row($res)) {
foreach($row as $key=>$val) {
echo "--$val";
}
echo '<br/>';
}
//4.關閉資源
mysqli_free_result($res);
mysqli_close($mysqli);
大概是這樣的。如果有錯誤的話,也希望大家指出來呀~