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里的文本移了位置就可以正常开启了,不知道你们是不是酱紫,总之如果是的话可以按我的方法试一下)


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

 //连接好数据库后
//查询
$sql="select * from 表名";
$transaction=sqlsrv_query($conn,$sql);
//插入
$sql="insert into 表名(列名)values(?)";
$列名=; //php会自动判断类型,所以随便写
$transaction=sqlsrv_query($conn,$sql,array($列名));
//更新
$sql="UPDATE 表名SET 列名1= ? WHERE 列名2= ?";
$列名1=; $列名2=;
$params=array($列名1,$列名2);
$transaction=sqlsrv_query($conn,$sql,$params);
//删除
$sql="delete from 表名 where 列名=?";
$列名=;
$transaction=sqlsrv_query($conn,$sql,array($列名)); PrintResult($transaction,$sql);
//写了一个方法用来判断操作是否成功
function PrintResult($result,$str)
{
if($result)
{
echo $str."操作成功<br/>";
//如果是查询则打印结果
$query="select";
if( strpos($str, $query) !== false )
{
while($row=sqlsrv_fetch_array($result))
{ //0 代表查询结果的第一列数据
echo $row[]."_".$row[]."<br/>";
}
}
}
else
{
echo $str."操作失败<br/>"; die(print_r(sqlsrv_errors(),true));
}
}

php之连接mssql(sql server)新手教程的更多相关文章

  1. php连接微软MSSQL(sql server)完全攻略

    http://www.jb51.net/article/98364.htm php连接微软MSSQL(sql server)完全攻略 作者:吵吵 字体:[增加 减小] 类型:转载 时间:2016-11 ...

  2. Atitit.mysql oracle with as模式临时表模式 CTE 语句的使用,减少子查询的结构性 mssql sql server..

    Atitit.mysql  oracle with as模式临时表模式 CTE 语句的使用,减少子查询的结构性 mssql sql server.. 1. with ... as (...) 在mys ...

  3. sql server 基础教程[温故而知新三]

    子曰:“温故而知新,可以为师矣.”孔子说:“温习旧知识从而得知新的理解与体会,凭借这一点就可以成为老师了.“ 尤其是咱们搞程序的人,不管是不是全栈工程师,都是集十八般武艺于一身.不过有时候有些知识如果 ...

  4. ArcGIS Engine连接ArcSDE SQL Server(获得所有SDE图层)

    ArcSDE是ESRI公司推出的基于SDE技术的空间数据库解决方案,它是在现有的关系或对象关系型数据库管理系统的基础上进行应用扩展,可以将空间数据和非空间数据存储在目前绝大多数商用DBMS中,享受商用 ...

  5. Jmeter—8 连接microsoft sql server数据库取数据

    本文以Jmeter 连接microsoft sql server为例. 1 从微软官网下载Microsoft SQL Server JDBC Driver 地址:http://www.microsof ...

  6. piap.excel 微软 时间戳转换mssql sql server文件时间戳转换unix 导入mysql

    piap.excel 微软 时间戳转换mssql sql server文件时间戳转换unix 导入mysql 需要不个mssql的sql文件导入mysql.他们的时间戳格式不同..ms用的是自定义的时 ...

  7. Linux下安装SQL Server 2016(连接篇SQL Server on linux)

    连接数据库 (1)设置防火墙 要连接数据库,首先要打开防火墙上1433端口,也就是,增加tcp端口1433到公共区域,并且永久生效. [root@localhost Desktop]# firewal ...

  8. atitit。mssql sql server 转换mysql 及 分页sql ast的搭建

    atitit.mssql sql server 转换mysql  及 分页sql ast的搭建 1. 主要的的转换::函数的转换,分页的转换 1 2. 思路::mssql sql >>as ...

  9. Atitit.数据库新特性战略规划 mssql sql server 2008 SQL2012 SQL2014

    Atitit.数据库新特性 mssql sql server 2008 SQL2012 SQL2014 1. Sql2012 新特性 1 1.1. 增加了Sequence对象. 1 1.2. 新的分页 ...

  10. Jmeter入门8 连接microsoft sql server数据库取数据

    本文以Jmeter 连接microsoft sql server为例. 1 从微软官网下载Microsoft SQL Server JDBC Driver 地址:http://www.microsof ...

随机推荐

  1. Deepin personalized transplantation of kali platform tools

    首先配置更新源: 把kali的源添加到 Deepin 自带的源后面: 简易换源方法: 1.打开文件管理 -> 地址栏输入路径:/etc/apt/ 然后回车->在目录中右键以管理员身份打开 ...

  2. spring管理hibernate session的问题探究

    我们再用spring管理hibernate的时候, 我们会继承HibernateDaoSupport 或者HibernateTemplate类. 我们不知道这两个类之间有什么关系. 也没有去关闭ses ...

  3. jmeter结果分析(图形报表和聚合报告)

    采用Jmeter测试工具对web系统作的负载测试,得出的响应报表,数据比较难懂,现作一具体说明.以下是在一次具体负载测试中得出的具体数值,测试线程设置情况为:线程数:200,等待时间(ramp-up) ...

  4. Oracle数据库PL/SQL那点事情---修改过电脑的用户名

    在安装Oracle数据库的PL/SQL工具时候,电脑名称是重装系统后自动生成的用户名名称,作为程序员,有很强的强迫症,就想利用自己的英文名称作为自己电脑的名称,所以就修改了电脑的名称:结果PL/SQL ...

  5. Linux之du命令的使用

    du的用法 du命令用来查看目录或文件所占用磁盘空间的大小.常用选项组合为:du -sh du常用的选项: -h:以人类可读的方式显示 -a:显示目录占用的磁盘空间大小,还要显示其下目录和文件占用磁盘 ...

  6. CountDownLatch、CyclicBarrier和 Semaphore

    在java 1.5中,提供了一些非常有用的辅助类来帮助我们进行并发编程,比如CountDownLatch,CyclicBarrier和Semaphore,今天我们就来学习一下这三个辅助类的用法. 以下 ...

  7. ConcurrentHashMap相关知识点

    ConcurrentHashMap涉及的知识点:HashMap,HashTable,UnSafe,CAS,数组+链表,Segment,ReentrantLock(非公平锁,公平锁),红黑树. 为什么要 ...

  8. 2019.04.04 第二次训练 【ACM International Collegiate Programming Contest, JUST Collegiate Programming Contest (2018)】

    题目链接:https://codeforces.com/gym/101853 A: ✅ B: (二分图匹配) https://blog.csdn.net/qq_41997978/article/det ...

  9. h2数据库的简单使用

    1.登录H2数据库的WebConsole控制台 2.设置数据库连接 3.连接测试通过之后,点击[连接]按钮,登录到test数据库的webConsole 4.创建表 复制H2数据库提供的样例SQL脚本, ...

  10. HTML5 表单 中

    input 属性 autofocus 页面加载时自动获得焦点 required   非空字段输入框 placeholder 提供一种提示(hint),输入域为空时显示. pattern 规定验证inp ...