最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時(shí)間:2017年10月07日 01:16:42   作者:流年_夢(mèng)  
這篇文章主要介紹了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)容感興趣的讀者可查看本站專題:《PHP基于pdo操作數(shù)據(jù)庫(kù)技巧總結(jié)》、《php+Oracle數(shù)據(jù)庫(kù)程序設(shè)計(jì)技巧總結(jié)》、《PHP+MongoDB數(shù)據(jù)庫(kù)操作技巧大全》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門教程》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫(kù)操作入門教程》及《php常見(jiàn)數(shù)據(jù)庫(kù)操作技巧匯總

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

相關(guān)文章

  • PHP調(diào)用其他文件中的類

    PHP調(diào)用其他文件中的類

    在本片文章中給大家詳細(xì)分享了PHP程序中去調(diào)用另外一個(gè)文件類的方法和代碼寫法,一起學(xué)習(xí)下。
    2018-04-04
  • PHP使用socket發(fā)送HTTP請(qǐng)求的方法

    PHP使用socket發(fā)送HTTP請(qǐng)求的方法

    這篇文章主要介紹了PHP使用socket發(fā)送HTTP請(qǐng)求的方法,結(jié)合實(shí)例形式分析了PHP使用socket發(fā)送http請(qǐng)求的常用技巧,需要的朋友可以參考下
    2016-02-02
  • php 數(shù)組使用詳解 推薦

    php 數(shù)組使用詳解 推薦

    對(duì)于網(wǎng)頁(yè)編程來(lái)說(shuō),最重要的就是存取和讀寫數(shù)據(jù)了。存儲(chǔ)方式可能有很多種,可以是字符串、數(shù)組、文件的形式等,今天學(xué)習(xí)了數(shù)組,可以說(shuō)是PHP的數(shù)據(jù)應(yīng)用中較重要的一種方式。
    2011-06-06
  • php GeoIP的使用教程

    php GeoIP的使用教程

    GeoIP介紹:什么是GepIP ?所謂GeoIP,就是通過(guò)來(lái)訪者的IP, 定位他的經(jīng)緯度,國(guó)家/地區(qū),省市,甚至街道等位置信息。
    2011-03-03
  • Android App中DrawerLayout抽屜效果的菜單編寫實(shí)例

    Android App中DrawerLayout抽屜效果的菜單編寫實(shí)例

    這篇文章主要介紹了Android App中DrawerLayout抽屜效果的菜單編寫實(shí)例,包括結(jié)合Toolbar實(shí)現(xiàn)復(fù)合Material Design的策劃菜單例子,需要的朋友可以參考下
    2016-03-03
  • php的閉包(Closure)匿名函數(shù)初探

    php的閉包(Closure)匿名函數(shù)初探

    本文主要給大家介紹的是php5.3引入的PHP匿名函數(shù),也就是閉包(Closure),以及閉包的作用,非常詳細(xì),這里推薦給有需要的小伙伴們。
    2016-02-02
  • php中$美元符號(hào)與Zen Coding沖突問(wèn)題解決方法分享

    php中$美元符號(hào)與Zen Coding沖突問(wèn)題解決方法分享

    Zen Coding是使用仿CSS選擇器的語(yǔ)法來(lái)快速開(kāi)發(fā)HTML和CSS ——由Sergey Chikuyonok開(kāi)發(fā)。 Zen Coding由兩個(gè)核心組件組成:一個(gè)縮寫擴(kuò)展器(縮寫為像CSS一樣的選擇器)和上下文無(wú)關(guān)的HTML標(biāo)簽對(duì)匹配器。
    2014-05-05
  • php將xml轉(zhuǎn)化對(duì)象的實(shí)例詳解

    php將xml轉(zhuǎn)化對(duì)象的實(shí)例詳解

    在本篇文章里小編給大家整理的是一篇關(guān)于php將xml轉(zhuǎn)化對(duì)象的實(shí)例詳解內(nèi)容,有需要的朋友們可以跟著學(xué)習(xí)下。
    2021-10-10
  • 整理php防注入和XSS攻擊通用過(guò)濾

    整理php防注入和XSS攻擊通用過(guò)濾

    現(xiàn)在很多網(wǎng)站都存在跨站腳本攻擊漏洞,讓黑客有機(jī)可乘.跨站攻擊很容易就可以構(gòu)造,而且非常隱蔽,不易被查覺(jué)(通常盜取信息后馬上跳轉(zhuǎn)回原頁(yè)面)。如何攻擊,在此不作介紹,主要談?wù)勅绾畏婪丁?/div> 2015-09-09
  • php判斷數(shù)組元素不為空格實(shí)例代碼

    php判斷數(shù)組元素不為空格實(shí)例代碼

    在本篇文章里小編給大家整理了一篇關(guān)于php判斷數(shù)組元素不為空格實(shí)例代碼,有需要的朋友們可以學(xué)習(xí)參考下。
    2021-09-09

最新評(píng)論

九龙城区| 潢川县| 河北区| 平顺县| 华容县| 逊克县| 济源市| 保康县| 太康县| 教育| 高碑店市| 潍坊市| 铜陵市| 手游| 延长县| 佛学| 万山特区| 长子县| 瑞丽市| 渝中区| 筠连县| 乐昌市| 小金县| 武义县| 疏附县| 江北区| 六安市| 扎囊县| 晴隆县| 安丘市| 泾源县| 镇雄县| 南陵县| 祁连县| 鸡西市| 麻栗坡县| 宁海县| 康马县| 浮山县| 郯城县| 调兵山市|