zoukankan      html  css  js  c++  java
  • php之连接mssql(sql server)新手教程

    ps:网上搜了很多教程,讲的都很好,就是都有点漏的地方,花了一天时间查缺补漏终于弄好了(;´༎ຶД༎ຶ`),希望我的教程能帮到新手,还有写博客的时候因为不小心按错一个键,导致重写了,博客园这个编辑器真是令人桑心(ಥ_ಥ)

    • 下载php集成环境wamp(已经包含了Apache+Mysql+PHP) download,安装后打开会看到电脑桌面右下角的小图标

    • 下载mssql的驱动 download ,解压开里面有一些dll文件,等下要用的
    • 打开wamp 可以选择php版本,这里我选择了7.0(据说7.1 不支持mssql,所以我就没试,能用就行是吧_(:з」∠)_)

          

             打开localhost,可以查看phpinfo()

             可以看到我们的php版本是线程安全的  disabled为非安全,找不到用 ctrl+f 搜索

           

    • 再转到刚才下载的驱动页面,pdo和没有pdo是两种连接方式_7是版本_ts表示线程安全(nts就是非安全)_x64表示64位(x86表示32位)

          综上所述我们选择图中框起来的两个dll。将他们复制到php的ext扩展文件夹中,如图,注意版本号

          

    • 修改php.ini文件(包括Apache和php7.0的)

    这里推荐一个好用的软件,everything,直接搜索打开,懒得下的看图中路径找,注意选择7.0版本的php.ini

     

    打开后搜索extension,找到图中的位置,加上框中的两句话,也就是刚才添加的驱动的名字

    • 重新启动Apache,再次打开phpinfo(),搜索sqlsrv,可以看到这里多了一个sqlsrv,如果有就是驱动装成功了

    • 搞定了,开始写代码,在www目录添加一个文件夹,也就是你自己的项目,在里面添加一个文本,扩展名改为.php

         

    添加代码,我是用notepad++写的,下一个就行

    <?php

    $serverName="WIN-PSR3CQU4J4U";//也可以写ip:192.168.2.197,1433";
    $connectionInfo=array("Database"=>"game2018","UID"=>"fg","PWD"=>"fgdfgfd");
    $conn=sqlsrv_connect($serverName,$connectionInfo);

    if($conn)
    {
        echo("链接成功<br/>");
    }
    else
    {
            echo "连接失败<br/>";
    }
    ?>
    •  再次打开localhost,打开project刚才新建的文本,可以看到连接成功

    • 如果报错,下载ocbc驱动安装download,再重新试一下

    (ps:操作过程中,我发现原来的localhost页面打不开project,为啥我也不知道,于是尝试把www里的文本移了位置就可以正常开启了,不知道你们是不是酱紫,总之如果是的话可以按我的方法试一下)


    补充一些数据库基本操作代码

     1 //连接好数据库后  
     2 //查询
     3 $sql="select * from 表名";
     4 $transaction=sqlsrv_query($conn,$sql);
     5 //插入
     6 $sql="insert into 表名(列名)values(?)";
     7 $列名=666;  //php会自动判断类型,所以随便写
     8 $transaction=sqlsrv_query($conn,$sql,array($列名));
     9 //更新
    10 $sql="UPDATE 表名SET 列名1= ? WHERE 列名2= ?";
    11 $列名1=666; $列名2=2333;    
    12 $params=array($列名1,$列名2);
    13 $transaction=sqlsrv_query($conn,$sql,$params);
    14 //删除
    15 $sql="delete from  表名 where 列名=?";
    16 $列名=666;
    17 $transaction=sqlsrv_query($conn,$sql,array($列名));
    18 
    19 PrintResult($transaction,$sql);
    20 //写了一个方法用来判断操作是否成功
    21  function PrintResult($result,$str)
    22  {  
    23      if($result)
    24      {
    25          echo $str."操作成功<br/>";
    26         //如果是查询则打印结果
    27        $query="select";
    28         if( strpos($str, $query) !== false )
    29         { 
    30                 while($row=sqlsrv_fetch_array($result))
    31                 {  //0 代表查询结果的第一列数据
    32                     echo $row[0]."_".$row[1]."<br/>";
    33                 }
    34         }
    35     } 
    36      else
    37      {  
    38          echo $str."操作失败<br/>";
    39          
    40          die(print_r(sqlsrv_errors(),true));
    41      }
    42  }

     

  • 相关阅读:
    洛谷P5281 [ZJOI2019] Minimax搜索
    势函数
    Comet OJ [Contest #5] 迫真大游戏
    洛谷P3307 [SDOI2013] 项链
    洛谷P5985 [PA2019] Muzyka pop
    CF1205E Expected Value Again
    review
    CF891E Lust
    线性代数
    洛谷P4607 [SDOI2018] 反回文串
  • 原文地址:https://www.cnblogs.com/ninomiya/p/8479040.html
Copyright © 2011-2022 走看看