PHP连接sql server

这两天公司因为计划将网页追溯系统迁移到电话追溯系统的sql server 2000数据库,于是我苦逼的开始了将PHP连接sql server数据库的任务。

化繁为简,先说说Linux平台的php怎么连接:

首先下载freeTDS,解压安装。

1
2
./configure --prefix=/usr/local/freetds --with-tdsver=8.0 --enable-msdblib
make && make install

配置freeTDS

1
vim /usr/local/freetds/etc/freetds.conf

在A typical Microsoft server下配置自己的sql server数据库连接,如:

[192.168.0.254]
host=192.168.0.254
port=1433
tds version=8.0

配置完成,使用tsql测试连接是否成功

1
/usr/local/freetds/bin/tsql -S 192.168.0.254 -U sa

之后输入密码,若显示以下信息则配置成功。

locale is “zh_CN.UTF-8”
locale charset is “UTF-8”
using default charset “UTF-8”
1>

其次设置PHP,这里需要先安装mssql extension,可以在php源码的ext/mssql下找到。

进行编译

1
2
phpize
./configure --with-php-config=/usr/local/php/bin/php-config --with-mssql=/usr/local/freetds/

将安装好的插件加入php.ini的extension部分,如

extension_dir =/usr/local/php/lib/php/extensions/no-debug-zts-20121212
extension=mssql.so

重启Apache或者nginx重新应用php使用最新配置即可。

接下来可以新建一个db.php测试php是否正常连接sql server

1
2
3
4
5
6
7
8
9
<?php
$mssql=mssql_connect("DBhost","DBuser","DBpasswd");
if ($mssql) {
echo "Connent Mssql Succeed";
}
else {
echo "connent Mssql Error!";
}
?>

连接成功后,若要对数据库进行操作,可使用如下函数:

http://blog.sina.com.cn/s/blog_5c7a517801012etb.html

接着再来看看windows平台,我使用的方法是通过OBDC连接sql server。

一、编辑php.ini,将;extension=php_pdo_odbc.dll前的;去掉,重启Apache或者Nginx,让php启用pdo_odbc。

二、新建db.php

1
2
3
4
5
6
7
8
9
10
11
12
13
<?php 
$dbhost = 'DBhost';
$dbuser = 'DBuser'; //你的mssql用户名
$dbpass = 'DBpasswd'; //你的mssql密码
$dbname = 'DB'; //你的mssql库名
$connect=@odbc_connect("Driver={SQL Server};Server=$dbhost;Database=$dbname","$dbuser","$dbpass");
if($connect){
echo "Connent Mssql Succeed";
}
else {
echo "connent Mssql Error!";
}
?>

连接成功之后,若要使用数据库,可参加以下函数

http://blog.csdn.net/shaobingj126/article/details/5678009