php教程 php手册 php如何连接sql server

php如何连接sql server

Jun 06, 2016 pm 07:41 PM
server

这篇文章主要介绍了php连接sql server的方法,在连接过程中遇到的问题以及解决方法,需要的朋友可以参考下

说明:
  1:PHP5.2.x本身有个php_mssql.dll的扩展用来连接Sql server,但是这个dll只是用来连接低版本 Sql server的(2000以下版本),,在Sql server 2005及以上版本无法使用mssql_connect连接到数据库。
  2:php5.3.x不再支持php_mssql.dll 拓展库了,及时使用php5.2.x中的php_mssql.dll也无法使用。 微软专门为PHP出了个SQL Server的扩展(Windows版本的),对于Windows下使用php开发SQL Server应用来说,这个扩展有利于利用SQL Server来开发php平台连接sql server数据库管理系统。
一、php5.3以下的版本连接sql server
5.3以下的版本扩展里面自带一个php_mssql.dll;接数据库的扩展,可以利用这个扩展链接数据库,(只限于链接低版本数据库)。
具体的步骤如下:
1:首先安装sql server,超级不好安装,我之前安装的是2008版本的,Windows过期后就不能用了,然后重装还装不上,最后重装系统才装上
2:确定SQL装的时候用的是混合认证模式,或SQL验证模式,然后打开php的配置文件(php.ini),开启mssql扩展 (extension=php_pdo_mssql.dll前面的分号去掉)并且需要把mssql.secure_connection = On 重启后生效。
如果比较顺利的话已经可以连接数据库了,如果连不上就需要继续低下的配置:
3: 检查ntwdblib文件的版本(php/下面和Apache/下面)下载正确的版本的 ntwdblib.dll(2000.80.194.0)覆盖现有的DLL文件,(把ntwdblib.dll,php_mssql.dll 复制到system32目录中也可以)ntwdblib.dll 用于PHP连接MSSQL2005或2008的驱动文件。
4:测试连接:mssql_connect('localhost,1433', '用户名', '密码');
二、php5.3+连接sql server
其 实5.3以下的php版本已经很少用了,况且安全性和兼容性都不好,所以高版本的php还是比较常见的。实践证明低版本的php连接数据库成功率比较低 (2005以上的版本几乎不能使用),推荐使用php5.3+ php使用微软专门的扩展 SQLSRV 来连接sqlserver数据库
步骤如下:
1:先到微软网站下载 SQL Server Driver for PHP 是一个自解压的 EXE文件,解压缩后你会得到这么几个文件:

php如何连接sql server

其中的52、53表示就是php的5.2.x和5.3.x 版本,选择跟你php版本相匹配的;vc6或vc9的选择要看你使用的是什么web服务器软件,如果使用的是IIS那就选择vc9的,如果是Apache 则选择vc6的,ts和nts的选择要看你安装的php版本是线程安全版的还是非线程安全版,ts是线程安全,nts是非线程安全。
如果不知道可以在phpinfo里看Zend Extension Build这个属性如下图:

php如何连接sql server

2:将扩展拷贝到拷到php/ext目录下,在php.ini文件,添加一下代码:
extension=在ext下的pdo扩展(用于pdo)
extension=在ext下的扩展
3:重启服务器,打开phpinfo();看到以下状态就证明添加扩展成功,

php如何连接sql server

4:连接测试:

"sa","PWD"=>"admin","Database"=>"db_online"); $conn = sqlsrv_connect( $serverName, $connectionInfo); if( $conn ){ echo "Connection established.\n"; }else{ echo "Connection could not be established.\n"; die( var_dump(sqlsrv_errors())); } sqlsrv_close( $conn); ?>

注意这里的连接不是用mssql_connect而是用sqlsrv_connect,在这个版本中,还有几个函数:
这个扩展为php新增了一系列sqlsrv_开头的函数,常用的如下:

sqlsrv_connect
sqlsrv_close
sqlsrv_commit
sqlsrv_errors
sqlsrv_fetch
sqlsrv_fetch_array
sqlsrv_fetch_metadata
sqlsrv_num_rows
sqlsrv_query
sqlsrv_rollback
sqlsrv_rows_affected
. . .
另外注意的是,如果使用这个扩展连接Sql server 2005以及以上版本的sql server(如sql server 2008),你还需要在机器上先安装 SQL Server Native Client
不然会出现如下错误:

array
0 =>array
0 =>string'IMSSP'(length=5)
    'SQLSTATE' =>string'IMSSP'(length=5)
1 =>int-49
    'code' =>int-49
2 =>string'This extension requires the Microsoft SQL Server 2012 Native Client. Access the     following URL to download the Microsoft SQL Server 2012 Native Client ODBC driver for x86: ?LinkId=163712'(length=216)
'message' =>string'This extension requires the Microsoft SQL Server 2008 Native Client. Access the following URL to download the Microsoft SQL Server 2008 Native Client ODBC driver for x86: ?LinkId=163712'(length=216)
1 =>array
0 =>string'IM002'(length=5)
    'SQLSTATE' =>string'IM002'(length=5)
1 =>int0
    'code' =>int0
2 =>string'[Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序'(length=71)
'message' =>string'[Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序'(length=71)
. . . .

解决方法:需要安装SQL Server 2008 Native Client ODBC Driver,下载安装文件sqlncli.msi,安装后就可以了。

以上就是php连接sql server的方法,希望对大家解决类似问题有所帮助。

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

Windows 서버 백업을 설치, 제거 및 재설정하는 방법 Windows 서버 백업을 설치, 제거 및 재설정하는 방법 Mar 06, 2024 am 10:37 AM

WindowsServerBackup은 WindowsServer 운영 체제와 함께 제공되는 기능으로, 사용자가 중요한 데이터 및 시스템 구성을 보호하고 중소기업 및 대기업 수준의 기업에 완벽한 백업 및 복구 솔루션을 제공하도록 설계되었습니다. Server2022 이상을 실행하는 사용자만 이 기능을 사용할 수 있습니다. 이 문서에서는 WindowsServerBackup을 설치, 제거 또는 재설정하는 방법을 설명합니다. Windows Server 백업을 재설정하는 방법 서버 백업에 문제가 있거나 백업에 너무 오랜 시간이 걸리거나 저장된 파일에 액세스할 수 없는 경우 Windows Server 백업 설정을 재설정하는 것을 고려할 수 있습니다. Windows를 재설정하려면

Windows Server 2025 미리보기 버전은 업데이트를 환영하며 Microsoft는 내부자 테스트 경험을 개선합니다. Windows Server 2025 미리보기 버전은 업데이트를 환영하며 Microsoft는 내부자 테스트 경험을 개선합니다. Feb 19, 2024 pm 02:36 PM

Microsoft는 Windows Server 빌드 26040 버전을 출시하면서 제품의 공식 이름을 Windows Server 2025로 발표했습니다. Windows11WindowsInsiderCanaryChannel 버전 build26040도 출시되었습니다. 일부 친구들은 수년 전에 누군가 Windows NT를 워크스테이션 모드에서 서버 모드로 성공적으로 전환하여 다양한 버전의 Microsoft 운영 체제 간의 공통점을 보여주었다는 것을 아직도 기억할 것입니다. 마이크로소프트의 현재 서버 운영체제 버전과 윈도우 11 사이에는 뚜렷한 차이가 있지만, 세부 사항에 주목하는 사람들은 윈도우 서버가 왜 브랜드를 업데이트했는지,

웹 서버를 위장하기 위해 Nginx 버전 이름을 수정하는 방법 웹 서버를 위장하기 위해 Nginx 버전 이름을 수정하는 방법 May 14, 2023 pm 09:19 PM

nginx의 기본 이름을 수정하는 방법은 조금 위장하거나 설치할 수 있습니다. 팁: 일반적으로 수정은 nginx가 컴파일되기 전에 이루어집니다. 수정 후에는 scr/core/nginx.conf#definenginx_version"1.4.7"#definenginx_ver"nginx/"n과 같이 코드를 다시 컴파일해야 합니다.

Microsoft, Windows Server vNext 미리보기 버전 25335 출시 Microsoft, Windows Server vNext 미리보기 버전 25335 출시 Jan 10, 2024 am 08:49 AM

Microsoft는 데스크톱용 Win11 미리 보기 업데이트를 출시하는 동시에 Windows Server LTSC(장기 서비스 채널) 미리 보기 빌드 25335도 오늘 출시했습니다. 평소와 마찬가지로 Microsoft는 전체 변경 로그를 게시하지 않았으며 해당 블로그 게시물도 제공하지 않았습니다. Microsoft는 Windows Server 미리보기 버전 업데이트 로그를 Canary 채널 버전과 동일하게 조정했습니다. 새로운 콘텐츠가 도입되지 않으면 공식 블로그 게시물이 게시되지 않습니다. IT 홈의 참고 사항: 서버 브랜드는 업데이트되지 않았으며 미리 보기 버전에서는 여전히 Windows Server 2022입니다. 또한 Microsoft는 이미 시장에 출시된 Windows Server 2019 버전 대신 이러한 버전을 Windows Server vNext라고 부릅니다.

Ubuntu Server 11.04에 GNOME 3를 설치하는 단계 Ubuntu Server 11.04에 GNOME 3를 설치하는 단계 Dec 31, 2023 pm 03:59 PM

Ubuntu Server 11.04를 설치할 때 그래픽 인터페이스를 설치할 필요가 없다고 생각한다면 아직 완성되지 않은 GNOME 3는 말할 것도 없습니다. . 아니면 ARCH+GNOME3으로 빌드해야 합니다. 그러니 이 글을 읽으면서 시간을 낭비하지 마시기 바랍니다. 2박1일 걸렸고 N번 재설치 했습니다. 마침내 뭔가가 나왔습니다. 쉽지 않습니다. 더 이상 고민하지 않고 본론으로 들어가겠습니다. 하드웨어: ThinkPad 1개 (X61의 경우) 2. 부팅 옵션 인터페이스로 들어가서 USB 부팅을 선택한 다음 Ubu 설치를 선택합니다.

Windows Server 2022 사용자가 Microsoft의 1월 업데이트를 설치한 후 브라우저와 앱에 흰색 화면이 표시된다고 보고합니다. Windows Server 2022 사용자가 Microsoft의 1월 업데이트를 설치한 후 브라우저와 앱에 흰색 화면이 표시된다고 보고합니다. Feb 19, 2024 pm 02:40 PM

1월 16일 보도에 따르면, 외국 기술 매체인 WindowsLatest는 Windows Server 2022에 KB5034129 업데이트를 설치한 후 Chrome, Edge, Firefox 브라우저는 물론 Adobe 및 기타 애플리케이션에서 흰색 화면이 나타나 콘텐츠를 표시할 수 없게 된다고 보도했습니다. 2024년 1월 패치 화요일 이벤트 동안 Microsoft는 Windows Server 2022의 Wi-Fi 어댑터 문제를 해결하도록 설계된 KB5034129 업데이트를 출시했습니다. 이 업데이트는 널리 권장되며 시스템 안정성과 성능을 보장하기 위해 많은 회사에서 설치해야 합니다. 그러나 설치 및 업그레이드 후 많은 사용자가 Windows Server 2022 업데이트로 인해

Microsoft, Windows Server 26080 미리 보기 업데이트 출시: 피드백 허브 오류 수정 Microsoft, Windows Server 26080 미리 보기 업데이트 출시: 피드백 허브 오류 수정 Mar 14, 2024 pm 07:11 PM

IT House는 3월 14일에 데스크톱용 Windows 11 Build 26080 미리보기 업데이트 외에도 Microsoft가 오늘 Windows Server Build 26080 미리보기 업데이트도 출시했다고 보도했습니다. 곧 출시될 Windows Server LTSC(장기 서비스 채널)의 최신 미리 보기 버전인 Windows Server Build 26080은 Data Center Edition 및 Standard Edition을 제공하며 사용자는 데스크톱 환경 및 Server Core 설치 옵션을 선택할 수 있습니다. 이 릴리스에는 컨테이너 호스트를 위한 연간 채널과 가상 머신 평가를 위한 Azure 릴리스도 포함되어 있습니다. IT House는 X 소셜 미디어를 쿼리합니다. 사용자 피드백은 오른쪽 하단에 있는 Copilot 버튼을 클릭합니다.

Windows Server 백업 서비스를 시작, 중지 및 다시 시작하는 방법 Windows Server 백업 서비스를 시작, 중지 및 다시 시작하는 방법 Mar 06, 2024 pm 10:25 PM

WindowsServerBackup 서비스를 다시 시작해야 하는 경우 아래 단계를 따르세요. 거의 모든 버전의 Windows Server에서 Windows Server 백업 서비스를 시작하고 중지하는 방법을 사용할 수 있습니다. 여기에서는 필요한 경우 쉽게 따라할 수 있도록 전체 프로세스에 대해 설명합니다. Windows Server 백업 서비스를 다시 시작하는 방법 이 프로세스는 두 가지 주요 단계로 구성됩니다. 먼저 Windows Server 백업 서비스를 시작하는 방법을 잘 알고 있어야 합니다. 다음으로 서비스를 중지하는 방법에 대한 단계를 알아볼 수 있습니다. 서비스가 이미 백그라운드에서 실행 중인 경우 다른 방법을 사용하여 프로세스를 종료할 수 있습니다.

See all articles