文档章节

php连接mssql数据库的几种方式

blazeq
 blazeq
发布于 2013/02/21 11:46
字数 552
阅读 591
收藏 2

<p>数据库查询不外乎4个步骤,1、建立连接。2、输入查询代码。3、建立查询并取出数据。4、关闭连接。</p> <p>php连接mssql数据库有几个注意事项,尤其mssql的多个版本、32位、64位都有区别。</p> <p>首先,php.ini文件中;extension=php_pdo_mssql.dll ;extension=php_pdo_odbc.dll 前面的分号去掉,对应的使哪种方式连接mssql。注意要重启服务使其生效。</p> <p>一、建立连接</p> <p>1、odbc</p> <p>首先,在php程序所在的服务器设置odbc。这里32位和64位操作系统有区别。32位的从控制面板中管理工具中的数据源(odbc)直接建立就可以了,64位的要运行C:\Windows\SysWOW64\odbcad32.exe</p> <p>从这里面设置。<font color="#ff0000">注意:上面只的是数据库服务器为32为的,数据源设置服务器为32位和64位两种的情况。只要两个服务器建立的数据源位数一致就好。</font></p> <p><font color="#000000">下面是odbc建立连接代码。</font></p> <div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 5px; background-color: #f5f5f5; padding-left: 5px; padding-right: 5px; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 5px" class="cnblogs_code"> <pre><span style="color: #800080">$con </span>= <span style="color: #008080">odbc_connect</span>('odbc名称','用户名','密码');</pre> </div>

<p>2、连接mssql2000</p>

<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 5px; background-color: #f5f5f5; padding-left: 5px; padding-right: 5px; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 5px" class="cnblogs_code"> <pre><span style="color: #800080">$con</span> = mssql_connect('<span style="color: #800080">数据库地址</span>','用户名','密码');</pre> </div>

<p>3、连接mssql2008</p>

<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 5px; background-color: #f5f5f5; padding-left: 5px; padding-right: 5px; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 5px" class="cnblogs_code"> <pre><span style="color: #800080">$connectionInfo</span> = <span style="color: #0000ff">array</span>(&quot;UID&quot;=&gt;<span style="color: #800080">用户名</span>,&quot;PWD&quot;=&gt;<span style="color: #800080">密码</span>,&quot;Database&quot;=&gt;&quot;数据库名称&quot;<span style="color: #000000">); </span><span style="color: #800080">$con</span> = sqlsrv_connect( <span style="color: #800080">数据库地址</span>,<span style="color: #800080">$connectionInfo</span>);</pre> </div>

<p>&#160;</p>

<p>二、输入查询代码</p>

<p>这个都一样,可以直接写入,也可以从mssql中验证好后复制过来。简单点说就是把一个sql语句赋值给一个变量。</p>

<p>类似下面代码</p>

<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 5px; background-color: #f5f5f5; padding-left: 5px; padding-right: 5px; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 5px" class="cnblogs_code"> <pre><span style="color: #800080">$query</span> = &quot;SELECT top 12 * 数据库名称 order by id desc&quot;;</pre> </div>

<p>&#160;</p>

<p>三、建立查询并取出数据</p>

<p>1、odbc</p>

<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 5px; background-color: #f5f5f5; padding-left: 5px; padding-right: 5px; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 5px" class="cnblogs_code"> <pre><span style="color: #800080">$result</span> = <span style="color: #008080">odbc_do</span>(<span style="color: #800080">$con</span>,<span style="color: #800080">$query</span><span style="color: #000000">); </span><span style="color: #0000ff">while</span>(<span style="color: #008080">odbc_fetch_row</span>(<span style="color: #800080">$result</span><span style="color: #000000">)) { </span><span style="color: #800080">$变量名称</span> = <span style="color: #008080">odbc_result</span>(<span style="color: #800080">$result</span>, &quot;字段名称&quot;)<span style="color: #000000">; }</span></pre> </div>

<p>2、连接mssql2000</p>

<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 5px; background-color: #f5f5f5; padding-left: 5px; padding-right: 5px; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 5px" class="cnblogs_code"> <pre><span style="color: #800080">$result</span> = mssql_query(<span style="color: #800080">$con</span>, <span style="color: #800080">$query</span><span style="color: #000000">); </span><span style="color: #0000ff">while</span>(<span style="color: #800080">$row</span> =mssql_fetch_array(<span style="color: #800080">$result</span><span style="color: #000000">)) { </span><span style="color: #800080">$变量名称</span> = <span style="color: #800080">$row</span>[&quot;字段名称&quot;<span style="color: #000000">]; }</span></pre> </div>

<p>3、连接mssql2008</p>

<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 5px; background-color: #f5f5f5; padding-left: 5px; padding-right: 5px; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 5px" class="cnblogs_code"> <pre><span style="color: #800080">$result</span> = sqlsrv_query(<span style="color: #800080">$con</span>, <span style="color: #800080">$query</span><span style="color: #000000">); </span><span style="color: #0000ff">while</span>(<span style="color: #800080">$row</span> = sqlsrv_fetch_array(<span style="color: #800080">$result</span><span style="color: #000000">)) { </span><span style="color: #800080">$变量名称 </span>= <span style="color: #800080">$row</span>[&quot;字段名称&quot;<span style="color: #000000">]; }</span></pre> </div>

<p>在php5.3及以后的版本中不附带sqlsrv库了。所以要从<a href="http://msdn.microsoft.com/en-us/sqlserver/ff657782.aspx">微软这里</a>下载。</p>

<p>四、关闭连接</p>

<p>这个没有什么区别,分别是odbc_close();和mssql_close()和sqlsrv_close();</p>

<p>最后体会:php连接mssql比连接mssql的函数少了一些,但是也够用了。具体函数可以参考<a href="http://www.php.net/mssql">php官方手册</a>或者<a href="http://www.ostools.net/apidocs/apidoc?api=php-zh">oschina的php中文文档</a>。</p>

© 著作权归作者所有

共有 人打赏支持
blazeq
粉丝 2
博文 5
码字总数 1480
作品 0
济南
thinkphp链接mssql以及查询中文乱码问题

首先说下我的环境,thinkphp版本3.1 php版本5.2.6 sqlserver2005 mysql版本5.2 最近做一个项目需要连接已有项目的sqlserver数据库来得到一些数据,我们直接的数据库是mysql 所以就需要切换数...

王纪光
2013/08/16
0
2
linux连sql server 2012 和开启PHP sqlserver扩展

连接sql server 2012数据库 http://www.freetds.org/userguide/choosingtdsprotocol.htm 下载安装 ftp://ftp.freetds.org/pub/freetds/stable/freetds-1.00.20.tar.gz ./configure --prefix......

suibiandonggua
06/28
0
0
php连接sqlserver2005

为了php连接sql2005 ,我在网络上找了一大堆资料在我的csdn博客中.晚上3:05分时候终于搞定了 php连接sql2005的问题,现在整合,同时把FAQ整合上. 我前面写的教程: 连接前配置系统: 1.检查文件 ...

charley158
2014/01/02
0
1
PHP 对 mysql 的事务处理

mysql>mysql事务处理php代码实现事务的处理可以通过PHP预定义类mysqli的以下方法实现。 autocommit(boolean):该方法用于限定查询结果是否自动提交,如果该方法的参数为true则自动提交,如果...

罗春宗
2012/10/31
0
0
FreeBSD下执行SQL Server2005存储过程解决方案

FreeBSD下执行SQL Server2005存储过程解决方案(Warning: mssql_execute(): ...) FreeBSD下使用SQL Server2005(2008)需要使用FreeTDS。 安装FreeTSD后,使用PHP语言进行测试。在使用mssql_e...

雷xiao雨
2014/03/01
0
0

没有更多内容

加载失败,请刷新页面

加载更多

申请Let's Encrypt永久免费SSL证书

环境安装 1、安装git yum install git-core 2、安装python 系统自带 不用安装 只要版本大于2.7即可。 获取Let's Encrypt免费SSL证书 先停止nginx 在阿里云安全组里加入 443端口的入规则 git ...

HGMrWang
31分钟前
1
0
如何使用playframework进行更好的开发

1: 自定义基类Controller 相信刚开始使用Play的人写的Controller 都继承于 play.mvc.Controller , 但这并不是一个很好的选择,自建基类Controller可以扩展更多的功能。 1.1 验证功能。 后台...

tuerqidi
35分钟前
4
0
解决ubuntu下root用户 不能ftp登陆的问题

解决ubuntu下root用户 不能ftp登陆的问题 一般情况下,由于种种原因ftp是不让root用户远程登陆,但只要你修改以个文件就可以登陆了. 注释掉 /etc/ftpusers 中的root即可 (最后重启vsftpd serv...

15834278076
47分钟前
0
0
《JavaScript高级程序设计(第3版)》阅读笔记

第6章 面向对象的程序设计 6.2 创建对象 6.2.1 工厂模式 JavaScript创建对象(一)—— 工厂模式 6.2.2 构造函数模式 JavaScript创建对象(二)——构造函数模式 6.2.3 原型模式 JavaScript...

Bob2100
52分钟前
1
0
Windows小技巧 – Win+R提高Windows使用效率

追求效率的朋友都需要一款顺手的快速启动工具,Win 平台上有键盘流的RunZ、Listary、ALTRun、Launchy、Wox 和图标流的 Fences、Rolan、 WinLaunch 等,而 Mac 上也有 Alfred、Spotlight。 而...

QQZZFT
54分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部