php創建存儲過程,php調用mysql存儲過程

本文目錄一覽:

php調用mysql存儲過程,如何實現。 我的代碼如下:

mysql存儲過程返回2個資源,第一個是執行信息,第二個是存儲過程返回結果。

mysql_*系列函數無法獲取超過1個資源,需使用mysqli或PDO代替。

PDO:

        $stmt = $db-prepare(“CALL pro_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);

PHP 如何動態執行創建存儲過程的腳本

delimiter //

CREATE PROCEDURE `sp_user` (IN `lastts` timestamp)

BEGIN

CREATE TABLE IF NOT EXISTS `tmp_user`

(

……..

) ENGINE=MyISAM DEFAULT CHARSET=utf8;

/* 刪除動態變化的用戶資料 */

IF lastts = ‘1970-01-01’ THEN truncate table tmp_user;

ELSE delete from tmp_user where lasttime = lastts;

END IF;

/* 初始化用戶 */

insert into tmp_user (………..)

select * from (

select distinct * from `tb_order` where date(pay_time) = lastts group by buyer_nick

) as t;

END

//

delimiter;

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 = ‘trtda 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怎麼創建可以定時執行任務的過程語句存儲過程定時執行sql

服務器的話可以使用計劃任務。

如果是虛擬主機只能使用死循環+判定條件了。

PHP下如何創建MYSQL存儲過程

直接上代碼:

mysql_connect(“localhost”,”user”,”pwd”);

mysql_select_db(‘testdata’) or die (mysql_error());

$sql = “create procedure tb_neaten (in rec int,in pa varchar(15),in qy decimal(10,2),in ar varchar(6))

begin

update test1 set qty=qty-qy where recordnum=rec;

insert into test2 set bname=pa,area=ar,qty=qy,date=date_format(now(),’%Y%m%d’),time=date_format(now(),’%Y%m%d’);

end;”;

mysql_query($sql) or die (mysql_error());

若是存儲過程里含有捕獲select結果的語句時,需在mysql_connect時調整參數

mysql_connect(“localhost”,”user”,”password”,1,131072) 

執行時,直接運行

 mysql_query(tb_neaten(va1,va2,va3,va4));

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/240642.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-12 12:23
下一篇 2024-12-12 12:23

相關推薦

  • 如何修改mysql的端口號

    本文將介紹如何修改mysql的端口號,方便開發者根據實際需求配置對應端口號。 一、為什麼需要修改mysql端口號 默認情況下,mysql使用的端口號是3306。在某些情況下,我們需…

    編程 2025-04-29
  • PHP和Python哪個好找工作?

    PHP和Python都是非常流行的編程語言,它們被廣泛應用於不同領域的開發中。但是,在考慮擇業方向的時候,很多人都會有一個問題:PHP和Python哪個好找工作?這篇文章將從多個方…

    編程 2025-04-29
  • Python操作MySQL

    本文將從以下幾個方面對Python操作MySQL進行詳細闡述: 一、連接MySQL數據庫 在使用Python操作MySQL之前,我們需要先連接MySQL數據庫。在Python中,我…

    編程 2025-04-29
  • PHP怎麼接幣

    想要在自己的網站或應用中接受比特幣等加密貨幣的支付,就需要對該加密貨幣擁有一定的了解,並使用對應的API進行開發。本文將從多個方面詳細闡述如何使用PHP接受加密貨幣的支付。 一、環…

    編程 2025-04-29
  • MySQL遞歸函數的用法

    本文將從多個方面對MySQL遞歸函數的用法做詳細的闡述,包括函數的定義、使用方法、示例及注意事項。 一、遞歸函數的定義 遞歸函數是指在函數內部調用自身的函數。MySQL提供了CRE…

    編程 2025-04-29
  • MySQL bigint與long的區別

    本文將從數據類型定義、存儲空間、數據範圍、計算效率、應用場景五個方面詳細闡述MySQL bigint與long的區別。 一、數據類型定義 bigint在MySQL中是一種有符號的整…

    編程 2025-04-28
  • 使用PHP foreach遍歷有相同屬性的值

    本篇文章將介紹如何使用PHP foreach遍歷具有相同屬性的值,並給出相應的代碼示例。 一、基礎概念 在講解如何使用PHP foreach遍歷有相同屬性的值之前,我們需要先了解幾…

    編程 2025-04-28
  • MySQL左連接索引不生效問題解決

    在MySQL數據庫中,經常會使用左連接查詢操作,但是左連接查詢中索引不生效的情況也比較常見。本文將從多個方面探討MySQL左連接索引不生效問題,並給出相應的解決方法。 一、索引的作…

    編程 2025-04-28
  • PHP獲取301跳轉後的地址

    本文將為大家介紹如何使用PHP獲取301跳轉後的地址。301重定向是什麼呢?當我們訪問一個網頁A,但是它已經被遷移到了另一個地址B,此時若服務器端做了301重定向,那麼你的瀏覽器在…

    編程 2025-04-27
  • CentOS 7在線安裝MySQL 8

    在本文中,我們將介紹如何在CentOS 7操作系統中在線安裝MySQL 8。我們會從安裝環境的準備開始,到安裝MySQL 8的過程進行詳細的闡述。 一、環境準備 在進行MySQL …

    編程 2025-04-27

發表回復

登錄後才能評論