数据库查询不外乎4个步骤,1、建立连接。2、输入查询代码。3、建立查询并取出数据。4、关闭连接。
php连接mssql数据库有几个注意事项,尤其mssql的多个版本、32位、64位都有区别。
首先,php.ini文件中;extension=php_pdo_mssql.dll ;extension=php_pdo_odbc.dll 前面的分号去掉,对应的使哪种方式连接mssql。注意要重启服务使其生效。
一、建立连接
1、odbc
首先,在php程序所在的服务器设置odbc。这里32位和64位操作系统有区别。32位的从控制面板中管理工具中的数据源(odbc)直接建立就可以了,64位的要运行C:\Windows\SysWOW64\odbcad32.exe
从这里面设置。注意:上面只的是数据库服务器为32为的,数据源设置服务器为32位和64位两种的情况。只要两个服务器建立的数据源位数一致就好。
下面是odbc建立连接代码。
<span style="color: #800080">$con </span>= <span style="color: #008080">odbc_connect</span>('odbc名称','用户名','密码');
2、连接mssql2000
<span style="color: #800080">$con</span> = mssql_connect('<span style="color: #800080">数据库地址</span>','用户名','密码');
3、连接mssql2008
<span style="color: #800080">$connectionInfo</span> = <span style="color: #0000ff">array</span>("UID"=><span style="color: #800080">用户名</span>,"PWD"=><span style="color: #800080">密码</span>,"Database"=>"数据库名称"<span style="color: #000000">); </span><span style="color: #800080">$con</span> = sqlsrv_connect( <span style="color: #800080">数据库地址</span>,<span style="color: #800080">$connectionInfo</span>);
二、输入查询代码
这个都一样,可以直接写入,也可以从mssql中验证好后复制过来。简单点说就是把一个sql语句赋值给一个变量。
类似下面代码
<span style="color: #800080">$query</span> = "SELECT top 12 * 数据库名称 order by id desc";
三、建立查询并取出数据
1、odbc
<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>, "字段名称")<span style="color: #000000">; }</span>
2、连接mssql2000
<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>["字段名称"<span style="color: #000000">]; }</span>
3、连接mssql2008
<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>["字段名称"<span style="color: #000000">]; }</span>
在php5.3及以后的版本中不附带sqlsrv库了。所以要从微软这里下载。
四、关闭连接
这个没有什么区别,分别是odbc_close();和mssql_close()和sqlsrv_close();
最后体会:php连接mssql比连接mssql的函数少了一些,但是也够用了。具体函数可以参考php官方手册或者oschina的php中文文档。