PHP

PHP操作SQL Server方法----连接和sql语句需要注意的问题

字号+ 编辑: 种花家 修订: 人在硅谷 来源: 原创 2023-09-12 我要说两句(0)

php操作sql server的代码demo, 还有报Failed to get DB handle: SQLSTATE[IMSSP]: This extension requires the Microsoft ODBC Driver 11 for SQL Server to communicate with SQL Server. Access the following URL to download the ODBC Driver 11 for SQL Server for x86: http://go.microsoft.com/fwlink/?LinkId=163712的故障错误

<?php
$serverName = "服务器名称\SQLEXPRESS";
$connectionInfo = array( "Database"=>"dbName", "UID"=>"username", "PWD"=>"password" );
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn === false ) {
     die( print_r( sqlsrv_errors() );
}

$sql = "INSERT INTO Table_1 ( [id], [data] ) VALUES (?, ?)";
$params = array(1, "some data");

$stmt = sqlsrv_query( $conn, $sql, $params);
if( $stmt === false ) {
     die( print_r( sqlsrv_errors() );
}

执行sql语句使用的是sqlsrv_query方法, 第一个参数需要传数据库连接符, 第二个参数是sql语句结构绑定式, 第三个参数是语句内要绑定进的问号参数值。


这里说一下SQL Server的sql和MySQL语句在遇到字段和SQL关键字相同的解决。MySQL是在字段前后加上一对`(键盘数字1左边)符号来告诉服务端这是字段, SQL Server是在字段前后加上中括号[]来解决。如果可以不撞上关键字尽量不要使用关键字来当表字段名。


5.6的ODBC驱动故障

就算php5.6安装了对应的扩展, 也会报错, 连接数据库时返回错误当中会含有Failed to get DB handle: SQLSTATE[IMSSP]: This extension requires the Microsoft ODBC Driver 11 for SQL Server to communicate with SQL Server. Access the following URL to download the ODBC Driver 11 for SQL Server for x86: http://go.microsoft.com/fwlink/?LinkId=163712字样, 不要听信报错信息里的这个链接, 实际正确的下载链接是https://www.microsoft.com/en-us/download/details.aspx?id=36434

阅完此文,您的感想如何?
  • 有用

    3

  • 没用

    2

  • 开心

    2

  • 愤怒

    2

  • 可怜

    2

1.如文章侵犯了您的版权,请发邮件通知本站,该文章将在24小时内删除;
2.本站标注原创的文章,转发时烦请注明来源;
3.交流群: PHP+JS聊天群

相关课文
  • mac开发接入微信公众号接口返回报错 cURL error 56: SSLRead() return error -9806

  • pecl安装程序时报错Array and string offset access syntax with curly braces is no longer supported

  • PHP的换行符是什么

  • 由于商家传入的H5交易参数有误,该笔交易暂时无法完成,请联系商家解决

我要说说
网上宾友点评