使用PHP调用SQL SERVER 2008及以上版本的方法

数据库查询不外乎4个步骤,1、建立连接。2、输入查询代码。3、建立查询并取出数据。4、关闭连接。 php连接SQL SERVER数据库有几个注意事项,尤其mssql的多个版本、32位、64位都有区别。

首先,php.ini文件中;extension=php_pdo_mssql.dll ;extension=php_pdo_odbc.dll 前面的分号去掉,对应的使哪种方式连接SQL SERVER。注意要重启服务使其生效。

一、建立连接

1、odbc

首先,在php程序所在的服务器设置odbc。这里32位和64位操作系统有区别。32位的从控制面板中管理工具中的数据源(odbc)直接建立就可以了,64位的要运行C:WindowsSysWOW64odbcad32.exe

从这里面设置。注意:上面只的是数据库服务器为32为的,数据源设置服务器为32位和64位两种的情况。只要两个服务器建立的数据源位数一致就好。

下面是odbc建立连接代码。

$con = odbc_connect('odbc名称','用户名','密码');

2、连接mssql2000

$con = mssql_connect('数据库地址','用户名','密码');

3、连接mssql2008

$connectionInfo =  array("UID"=>用户名,"PWD"=>密码,"Database"=>"数据库名称");
$con = sqlsrv_connect( 数据库地址,$connectionInfo);

二、输入查询代码

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

$query = "SELECT top 12 * 数据库名称 order by id desc";

三、建立查询并取出数据

1、odbc

$result = odbc_do($con,$query);
while(odbc_fetch_row($result))
{
    $变量名称 = odbc_result($result, "字段名称");
}

2、连接mssql2000

$result = mssql_query($con, $query);
while($row =mssql_fetch_array($result))
{
    $变量名称 = $row["字段名称"];

} 3、连接SQL SERVER2008

$result = sqlsrv_query($con, $query);
while($row = sqlsrv_fetch_array($result))
{
    $变量名称 = $row["字段名称"];
}

在php5.3及以后的版本中不附带sqlsrv库了。所以要从微软这里下载。

注意,用于 SQL Server Driver for PHP 的 API 名称是 sqlsrv。所有 sqlsrv 函数都以 sqlsrv_ 打头,后跟动词或名词。后跟动词的函数用于执行特定操作,而后跟名词的函数用于返回特定形式的元数据。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏王磊的博客

golang操作文件

1、读取文件信息: /* 读取文件信息 */ func readFile(path string) string { fi, err := os.Open(p...

2745
来自专栏清风

企业Linux运维SHELL编写规范 原

为了方便维护人员维护,需要规定两个正式脚本的发布路径和维护人员的测试路径,不要将脚本放到规定路径以外,例如:

1166
来自专栏维C果糖

史上最简单的 MySQL 教程(三十七)「数据备份与还原(下)」

数据备份与还原的方式有很多种,具体可以分为:数据表备份、单表数据备份、SQL备份和增量备份。

3557
来自专栏CaiRui

xtrabackup使用

转自:https://www.cnblogs.com/waynechou/p/xtrabackup_backup.html 阅读目录 xtrabackup 选项...

63210
来自专栏Java技术栈

WEB攻击手段及防御第2篇-SQL注入

概念 SQL注入即通过WEB表单域插入非法SQL命令,当服务器端构造SQL时采用拼接形式,非法SQL与正常SQL一并构造并在数据库中执行。 简单的SQL注入的...

2826
来自专栏深度学习之tensorflow实战篇

MYSQL数据导出与导入,secure_file_priv参数设置

MySQL 报错 [Code: 1290, SQL State: HY000] The MySQL server is running with the –...

5685
来自专栏iMySQL的专栏

MySQL FAQ 系列 : 如何安全地关闭 MySQL 实例

本文分析了 mysqld 进程关闭的过程,以及如何安全、缓和地关闭 MySQL 实例,对这个过程不甚清楚的同学可以参考下。

2600
来自专栏云计算教程系列

如何在CentOS 7上安装和使用PostgreSQL

关系数据库管理系统是许多网站和应用程序的关键组件。它们提供了一种存储,组织和访问信息的结构化方法。

1711
来自专栏Django Scrapy

GPG error W: GPG error: http://packages.elastic.co stable Release: The following signatures could...

1864
来自专栏北京马哥教育

SQLite这么娇小可爱,不多了解点都不行啊

简介 SQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统。它的设计目标是嵌入式的,目前Android和iOS的设备内置的都是SQLite数...

3638

扫码关注云+社区

领取腾讯云代金券