在PHP中用ODBC来连接SQL Server数据库

我用的是:WampServer集成工具,PHP版本为7.0.29,数据库为SQL Server 2008 R2;

注意:在连接数据库时,需要进入X:\wamp\bin\apache\apache2.4.33\bin目录下的PHP配置文件:PHP.ini。进入里面修改相关配置。配置如下:

extension=php_odbc.dll    把前面冒号去掉开启服务    并且 重启下WampServer 所有服务。(重启Apache也行)

我是利用thinkPHP5.1框架来配置的。

在控制器中创建一个Test.class.php 

代码如下:

use think\Controller;

class Test extends Controller
{


        public function zz(){

            $servername='DRIVER={SQL Server};SERVER=localhost;DATABASE=mysql';
            $username = 'sa';
            $password = '123456';
            $conn = odbc_connect($servername,$username,$password);
            $sql = "SELECT * FROM myLLP";
            $exec=odbc_exec($conn,$sql);
            while($row =odbc_fetch_array($exec)){
                $List[]=$row;
            }
            echo json_encode($List);

            exit;

        }



}
其中数据库名字为:mysql   。

最终效果主要是显示了数据库mysql里面的表myLLP的数据,以键值对的形式在页面上显示。

通过访问url地址,入口文件+模块 +控制器+方法

页面路径为:http://localhost:81/tp5/public/index/test/zz

页面输出为:[{"name":"LLP","password":"123","id":"1"},{"name":"BB","password":"123","id":"2"}]

在C语言中使用ODBC连接SQL Server数据库,需要以下步骤: 1. 安装ODBC驱动程序:下载并安装Microsoft SQL Server ODBC驱动程序,使其能够被程序调用。 2. 初始化ODBC环境:使用SQLAllocHandle函数初始化ODBC环境,为后续的连接操作做准备。 3. 建立连接:使用SQLConnect函数连接SQL Server数据库,需要提供数据库的名称、用户名和密码等信息。 4. 执行SQL语句:使用SQLExecDirect函数执行SQL语句,可以是查询语句或更新语句等。 5. 处理结果:使用SQLBindCol函数绑定查询结果的每一列,然后使用SQLFetch函数获取每一行的数据。 6. 释放资源:使用SQLFreeStmt和SQLDisconnect函数释放连接和环境资源。 以下是一个使用ODBC连接SQL Server数据库的示例: ``` #include <stdio.h> #include <sql.h> #include <sqlext.h> int main(void) { SQLHENV henv; SQLHDBC hdbc; SQLHSTMT hstmt; SQLRETURN retcode; SQLCHAR szDSN[] = "myDSN"; SQLCHAR szUID[] = "myUser"; SQLCHAR szPWD[] = "myPassword"; SQLCHAR szConnStr[1024]; SQLCHAR szSqlStmt[1024]; SQLCHAR szCol1[256]; SQLCHAR szCol2[256]; SQLINTEGER iCol1; SQLINTEGER iCol2; // 初始化ODBC环境 retcode = SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE, &henv); retcode = SQLSetEnvAttr(henv, SQL_ATTR_ODBC_VERSION, (void*)SQL_OV_ODBC3, 0); // 建立连接 sprintf(szConnStr, "DSN=%s;UID=%s;PWD=%s", szDSN, szUID, szPWD); retcode = SQLAllocHandle(SQL_HANDLE_DBC, henv, &hdbc); retcode = SQLDriverConnect(hdbc, NULL, szConnStr, SQL_NTS, NULL, 0, NULL, SQL_DRIVER_COMPLETE); // 执行SQL语句 sprintf(szSqlStmt, "SELECT col1, col2 FROM myTable"); retcode = SQLAllocHandle(SQL_HANDLE_STMT, hdbc, &hstmt); retcode = SQLExecDirect(hstmt, szSqlStmt, SQL_NTS); // 处理结果 retcode = SQLBindCol(hstmt, 1, SQL_C_CHAR, szCol1, sizeof(szCol1), NULL); retcode = SQLBindCol(hstmt, 2, SQL_C_LONG, &iCol2, 0, NULL); while (SQLFetch(hstmt) == SQL_SUCCESS) { printf("%s, %d\n", szCol1, iCol2); } // 释放资源 retcode = SQLFreeHandle(SQL_HANDLE_STMT, hstmt); retcode = SQLDisconnect(hdbc); retcode = SQLFreeHandle(SQL_HANDLE_DBC, hdbc); retcode = SQLFreeHandle(SQL_HANDLE_ENV, henv); return 0; } ```
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值