【问题标题】:How could I connect php to SQL Server?如何将 php 连接到 SQL Server?
【发布时间】:2019-05-08 03:26:37
【问题描述】:

我正在尝试在 Windows 上连接 我的 php 代码与 SQL Server(Windows 身份验证)。我正在使用 xampp。

这是我的代码,但它不起作用。

<?php
          $dbPassword = "";
           $dbUserName = "Inspiron/Malky";
           $dbServer = "localhost";
           $dbName = "person";     

//       $conn = mysqli_connect($dbServer , $dbUserName , $dbPassword,$dbName) or die("unable to connect to host"); 

       $connectionInfo = array( "Database"=>$dbName);
       $conn = sqlsrv_connect( $dbServer, $connectionInfo);

if( $conn ) {
     echo "Connection established.<br />";
}else{
     echo "Connection could not be established.<br />";
     die( print_r( sqlsrv_errors(), true));
}
?>

错误

Fatal error: Uncaught Error: Call to undefined function sqlsrv_connect() in C:\xampp\htdocs\connection\connection.php:12 Stack trace: #0 C:\xampp\htdocs\connection\phpAdd.php(2): require() #1 {main} thrown in C:\xampp\htdocs\connection\connection.php on line 12

有人可以帮助我或给我一些阅读链接吗?

【问题讨论】:

  • 什么是“不工作”?您没有预料到的确切错误或行为是什么?
  • 当我尝试添加表单时出现错误
  • 错误致命错误:未捕获的错误:调用 C:\xampp\htdocs\connection\connection.php:12 中未定义的函数 sqlsrv_connect() 堆栈跟踪:#0 C:\xampp\htdocs\connection \phpAdd.php(2): require() #1 {main} 在第 12 行的 C:\xampp\htdocs\connection\connection.php 中抛出
  • 这可能会有所帮助 - stackoverflow.com/questions/13703824/…
  • 那个链接是关于 pdo 我不使用 pdo

标签: php sql-server


【解决方案1】:

什么环境? Windows OS Server、Linux(什么味道)、MAC OS。如果不使用 MAMP、LAMP,那么您使用的是哪些 Web 服务组件?

从输出日志/错误消息的 php 发布日志文件。

检查是否存在php所需的sql文件,例如包含例如的目录;

php_sqlsrv_7_nts.signature
php_sqlsrv_7_nts.so
php_sqlsrv_7_ts.signature
php_sqlsrv_7_ts.so

我发现对于 Linux 和 Windows 平台,需要安装 SQL 驱动程序。如果您还没有安装 sql 驱动程序和 odbc 驱动程序,则可能需要安装。其他很棒的文档位于:

示例应用程序(SQLSRV 驱动程序) https://docs.microsoft.com/en-us/sql/connect/php/example-application-sqlsrv-driver?view=sql-server-2017

如何在 MAMP Mac OS Laravel 2018 上安装 sqlsrv 驱动程序 https://www.youtube.com/watch?v=PRH04PxZpUk&feature=youtu.be

Ubuntu Linux https://www.microsoft.com/en-us/sql-server/developer-get-started/php/ubuntu/

下载适用于 SQL Server 的 PHP 驱动程序 https://docs.microsoft.com/en-us/sql/connect/php/download-drivers-php-sql-server?view=sql-server-2017

ODBC 驱动程序,参见示例 https://github.com/Microsoft/msphpsql/releases/tag/v5.3.0

如果使用 Ubuntu Linux,你是否将 mssql 绑定到 php/appache?例如,

apt-cache search mssql

这将显示数据库包

sudo apt-get install freetds-common freetds-bin unixodbc php5-sybase

测试与 SQL 的连接:

tsql -H 10.192.0.10 -p 1433 -U UserAccount -P yourpasswrd -D dbsource

使用php简单测试;

<?php
function ConnectDB() {
$conn = mssql_connect(“10.192.0.10”, “UserAccount”, 
“yourpasswrd”);
return $conn;
}
?>

【讨论】:

  • 我用的是windows
  • 你在windows机器的php目录下看到sql驱动了吗? for example I show under: .../bin/php/7.1.5/ext php_sqlsrv_7_nts_x64.dll php_sqlsrv_7_nts_x86.dll php_sqlsrv_7_ts_x64.dll php_sqlsrv_71_ts_x86.dll php_sqlsrv_71_nts_x86.dll php_sqlsrv_71_ts_x64.dll php_sqlsrv_71_ts_x86.dll [link]github.com/Microsoft/msphpsql
  • 我下载了 msodbcsql_17.3.1.1_X64.msi 和 SQLSRV30。我现在该怎么办?
  • @Zhorov 我添加了扩展程序,但它仍然无法正常工作
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多