PHP與MySQL存儲過程 實例一:無參的存儲過程
$conn = MySQL_connect('localhost','root','root') or die ("數據連接錯誤!!!"); MySQL_select_db('test',$conn); $sql = " create procedure myproce() begin INSERT INTO user (id, username, sex) VALUES (NULL, 's', '0'); end; "; MySQL_query($sql); |
創建一個myproce的存儲過程
$sql = "call test.myproce();";
MySQL_query($sql);
調用myproce的存儲過程,則數據庫中將增加一條新記錄。
PHP與MySQL存儲過程 實例二:傳入參數的存儲過程
$sql = " create procedure myproce2(in score int) begin if score >= 60 then select 'pass'; else select 'no'; end if; end; "; MySQL_query($sql); |
創建一個myproce2的存儲過程
$sql = "call test.myproce2(70);"; MySQL_query($sql);
調用myproce2的存儲過程,看不到效果,可以在cmd下看到結果。
PHP與MySQL存儲過程 實例三:傳出參數的存儲過程
$sql = " create procedure myproce3(out score int) begin set score=100; end; "; MySQL_query($sql); |
創建一個myproce3的存儲過程
$sql = "call test.myproce3(@score);"; MySQL_query($sql);
調用myproce3的存儲過程
$result = MySQL_query('select @score;'); $array = MySQL_fetch_array($result); echo '<pre>';print_r($array); PHP與MySQL |
存儲過程 實例四:傳出參數的inout存儲過程
$sql = " create procedure myproce4(inout sexflag int) begin SELECT * FROM user WHERE sex = sexflag; end; "; MySQL_query($sql); |
創建一個myproce4的存儲過程
$sql = "set @sexflag = 1"; MySQL_query($sql); 設置性別參數爲1
$sql = "call test.myproce4(@sexflag);"; MySQL_query($sql);
調用myproce4的存儲過程,在cmd下面看效果