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交易參數有誤,該筆交易暫時無法完成,請聯系商家解決

我要說說
網上賓友點評