近期由于项目需求,第一次接触到了sql server数据库,说实话,感觉还是mysql好用点~
但既然碰到了,还是写点简单连接、sql语句操作记录一下吧~
首先要含泪的说下部署过程······
php本身即支持sql server,但是启用前需要安装相关的拓展,这个百度一下如何配置php sql server和自行下载就可以了,值得注意的是,这拓展一定是需要根据php版本和计算机的操作位数来下具体的sql server拓展文件的,例如本人当时使用的是WIN7旗舰版64位 5.6的PHP版本,那就要找对应的拓展文件下载。下载好了拓展文件之后,把对应拓展文件拷贝到php的ext目录下,最后在php.ini的配置加两个,具体是:
extension=php_pdo_sqlsrv_**_ts.dll (**代表php版本,例如5.6就是php_pdo_sqlsrv_56_ts.dll,以下同义)
extension=php_sqlsrv_**_ts.dll
下载完sql server的拓展文件之后,还需要配置一下ODBC拓展,这个拓展配置比较简单,直接下载了了具体的配置文件,双击安装就可以了。
以上流程看着不是特别的复杂,一般的拓展也是这样的安装流程,那为啥可以让我难受到想要哭呢?!
原因是:微软的sql server不支持WIN 7旗舰版 64位 5.6版本的PHP版本!!!
后面本人不死心,找了好久发现有民间高手还是想到了办法,只要把sql server拓展文件变成32位的配置就行了,并且提供了该文件让大家下载!正要开心之际,又通过好久没配置好的时间之后发现,这文件不支持WIN7 旗舰版的电脑操作系统!!!
导致了一个什么现象呢,就是明明已经按要求做好了各种工作,文件也放到了指定目录,php.ini也改了配置,ODBC拓展也开启了,但是phpinfo里面就是不出现sql server的拓展!!!
最后没办法,本人认怂,重新下了32位的 5.4版本的php安装,然后几分钟就成功配好了sql server的拓展······
好了,坑太多,永远踩不完,希望以上信息可以给大家提个醒,毕竟这个原因说出来,本人和本人公司的技术员都一脸不信~~~下面说下配置好了之后怎么连接数据库和简单的sql操作。
1.php连接sql server:
$dsn = 'sqlsrv:Server=192.168.0.1(数据库IP);Database=AIS20180612345(数据库实体)';$user = 'sa'; //用户名
$password = 'test2018';//密码
$pdo_object = new PDO($dsn, $user, $password); //实例化
简单4句话就搞定了~ 是不是很简答!
2.执行sql :
$testSql = "select * from user"; //基本遵循mysql语法,暂时只发现limit无法使用。如果需要查一条数据,语法是:select TOP 1 id from user order by id desc;
$selectTestResult = $pdo_object->query($testSql );//执行sql
$user_arr = $selectTestResult ->fetch(); //这样只能获取一条资源,返回数组
$user_arr = $selectTestResult ->fetchAll();/这样可以获取满足条件的所有资源,返回数组
无需再 fetch_assoc 一下~
3.辅助工具,建议可以使用navicat for sql ,和平时操作mysql基本差不多~
今天大概就总结到这里吧,本人也只是刚入门,理解不深,希望以上资料对大家有帮助~