久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

PHP基于PDO調(diào)用sqlserver存儲(chǔ)過(guò)程通用方法【基于Yii框架】

這篇文章主要介紹了PHP基于PDO調(diào)用sqlserver存儲(chǔ)過(guò)程通用方法,結(jié)合實(shí)例形式分析了基于Yii框架采用pdo調(diào)用sqlserver存儲(chǔ)過(guò)程的相關(guān)操作步驟與實(shí)現(xiàn)技巧,需要的朋友可以參考下

本文實(shí)例講述了PHP基于PDO調(diào)用sqlserver存儲(chǔ)過(guò)程的方法。分享給大家供大家參考,具體如下:

由于業(yè)務(wù)這邊存儲(chǔ)過(guò)程一直在sqlserver上面,所以要用php去調(diào)用它,然而我們本地的是windows,而線上又是linux,一開(kāi)始使用Yii框架的一些機(jī)制去調(diào)用發(fā)現(xiàn)在本地一直都是好的然而到線上就不行了,找了很多方案,最后找到了pdo這種方案,而本地使用的驅(qū)動(dòng)是sqlsrv線上是dblib所以需要注意下鏈接pdo時(shí)的驅(qū)動(dòng)形式,在取結(jié)果集的時(shí)候注意windows和linux好像有所不同,在我加上set nocount on后win若果直接取結(jié)果就可以拿到最后的,然而放到linux就沒(méi)了,氣死人的說(shuō),索性最后我把所有的都取一遍;

分享整理后的一個(gè)方法:

class StoredProcHelper
{
  private static $type = [
   'integer'=>PDO::PARAM_INT,
   'string'=>PDO::PARAM_STR,
   'null'=>PDO::PARAM_NULL,
   'boolean'=>PDO::PARAM_BOOL
  ];
  private $sql = '';//此變量在下方說(shuō)明
  private $params = [];//此變量在下方說(shuō)明
  private $connect_info;//此變量在下方說(shuō)明
  private $pdo_connect;
  public function __construct($connect_info,$sql,$params){
    $this->sql = 'SET NOCOUNT ON;'.$sql;
    $this->params = $params;
    $this->connect_info = $connect_info;
    if(!empty($this->connect_info->dsn) && !empty($this->connect_info->username) && !empty($this->connect_info->password)){
      $this->pdo_connect = new PDO($this->connect_info->dsn,$this->connect_info->username, $this->connect_info->password);
    }
  }
  public function ExecuteProc(){
    $link = $this->pdo_connect->prepare($this->sql);
    foreach ($this->params as $key => $value){
      $link->bindParam($key,$value,self::$type[strtolower(gettype($value))]);
    }
    $link->execute();
    $i = 1;
    $res[0] = $link->fetchAll();
    while($link->nextRowset()){
      $res[$i] = $link->fetchAll();
      $i++;
    }
    return $res;
  }
}

使用舉例:

public static function Example($connect_info,$mobile){
    $sql='declare @customParam int;exec you_proc @Mobile = :mobile,@OutParam=@customParam out;select @customParam as outName;';
    $params = [
      ':mobile'=>$mobile
    ];
    $pdo = new StoredProcHelper($connect_info,$sql,$params);
    $res = $pdo->ExecuteProc();
    var_dump($res);
  }

變量$sql和$params的形式如例子中表現(xiàn)的;

變量$connect_info的形式如下【因?yàn)楸救耸窃赮ii框架 下使用的,所以以此變量是直接根據(jù)Yii來(lái)獲取數(shù)據(jù)庫(kù)鏈接配置來(lái)進(jìn)行的,如果自己有所不同可以自行更改形式以及賦值形式,在框架中方便的是不同環(huán)境下直接獲取配置能分別獲取到是sqlsrv和dblib,不需要自行去更改】:

[
  'dsn' => 'sqlsrv:Server=xxxxxxxxxx;Database=xxxxx',
  'username' => 'xxxxx',
  'password' => 'xxxxxxxxxxxxxxxxxxxx',
  'charset' => 'utf8',
]
//或
[
  'dsn' => 'dblib:host=xxxxxxxxxx;dbname=xxxxx',
  'username' => 'xxxxx',
  'password' => 'xxxxxxxxxxxxxxxxxxxx',
  'charset' => 'utf8',
],

更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《PHP基于pdo操作數(shù)據(jù)庫(kù)技巧總結(jié)》、《php+Oracle數(shù)據(jù)庫(kù)程序設(shè)計(jì)技巧總結(jié)》、《PHP+MongoDB數(shù)據(jù)庫(kù)操作技巧大全》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門(mén)教程》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫(kù)操作入門(mén)教程》及《php常見(jiàn)數(shù)據(jù)庫(kù)操作技巧匯總》

希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。

【網(wǎng)站聲明】本站除付費(fèi)源碼經(jīng)過(guò)測(cè)試外,其他素材未做測(cè)試,不保證完整性,網(wǎng)站上部分源碼僅限學(xué)習(xí)交流,請(qǐng)勿用于商業(yè)用途。如損害你的權(quán)益請(qǐng)聯(lián)系客服QQ:2655101040 給予處理,謝謝支持。

相關(guān)文檔推薦

我們?cè)谟胮bootcms建站時(shí)候,經(jīng)常用到的標(biāo)簽就是時(shí)間,我們?cè)谶@里整理了詳細(xì)調(diào)用方法,希望能夠幫到大家。 首頁(yè)/列表標(biāo)簽: 列表頁(yè)時(shí)間:[list:date] 效果:2021-12-06 09:12:30 列表頁(yè)時(shí)間:
dedecms要想調(diào)用所有子欄目是沒(méi)有這個(gè)標(biāo)簽的,要調(diào)用只可用sql標(biāo)簽,reid表示子欄目,channeltype=6表示模型為商品,sortrank表示按排序升序.小的放前面 {dede:sql sql=Select * from `dede_arctype` where r
我們要實(shí)現(xiàn)調(diào)用網(wǎng)站的留言數(shù)或者文章總數(shù),這個(gè)要怎么操作呢? 這個(gè)我們可以用到pbootcms的萬(wàn)能SQL標(biāo)簽直接調(diào)用,我們先來(lái)看下這個(gè)標(biāo)簽: 用于自定義任意查詢語(yǔ)句并循環(huán)輸出 使用
適用范圍:全站任意地方均可使用 標(biāo)簽作用:用于執(zhí)行站內(nèi)搜索功能 1、最簡(jiǎn)單的搜索示例 form action={pboot:scaction} method=get 關(guān)鍵字:input type=text name=keyword button type=submit搜索/button /form 表
適用范圍:內(nèi)容列表頁(yè)使用,其實(shí)也可以用在首頁(yè)等 標(biāo)簽作用:用于對(duì)內(nèi)容列表進(jìn)行篩選 1、使用步驟 1)到后臺(tái)對(duì)模型添加擴(kuò)展字段,字段類(lèi)型選擇單選或多選,同時(shí)填寫(xiě)單選或多選
1、基本標(biāo)簽: {pboot:ucenter} 個(gè)人中心地址 {pboot:login} 登錄地址 {pboot:register} 注冊(cè)地址 {pboot:umodify} 資料修改地址 {pboot:logout} 退出登錄地址 {pboot:upload} 文件上傳AJAX接口 {pboot:islogin} 是否登
主站蜘蛛池模板: 一区二区在线 | 成人av高清在线观看 | 国产视频二区在线观看 | 人干人人 | 亚洲视频一区二区三区四区 | 国产韩国精品一区二区三区 | 懂色中文一区二区在线播放 | 亚洲精品99 | 亚洲精品粉嫩美女一区 | 日韩在线免费视频 | 成人a视频片观看免费 | av中文在线 | 亚洲精品www久久久久久广东 | 亚洲欧美一区二区在线观看 | 精品久久久久久亚洲综合网站 | 91热爆在线观看 | 久久人操 | 亚洲欧洲精品在线 | 国产91色在线 | 亚洲 | 精品综合久久久 | 色永久| 蜜桃一区二区三区 | 99精品视频在线观看 | 国产91在线 | 亚洲 | 一区二区三区在线电影 | 欧美专区在线视频 | 一区二区三区四区不卡 | 中文字幕免费视频 | 久久伊人青青草 | 中文字幕精品一区二区三区精品 | 欧美成人在线网站 | 午夜欧美| 九七午夜剧场福利写真 | 不卡视频在线 | 国产日韩一区二区三免费高清 | 日本三级全黄三级a | 91亚洲精品国偷拍自产在线观看 | 成人午夜影院 | 国产精品免费一区二区三区 | 91精品一区 | 日韩男人天堂 |