我的PHP SQL Server连接在浏览器中不起作用

瓜豆

这是我的第一个问题,非常感谢您向我描述我的问题。我使用sqlsrv库开发了一个PHP脚本,以便在使用SSH的Ubuntu(18.04)服务器中使用私有IP连接到SQL Server,我安装了使该库正常工作所需的.so并修改了php.ini以识别它。我在控制台中运行我的PHP代码,它运行完美,当它们出现时会抛出错误并正确获取数据。现在,我正在尝试集成此脚本以创建一个可以连接到SQL Server并获取登录过程数据的网页,我已经多次开发了网页的这一部分,但这是第一个出现在SQL Server。

我将向您展示我的代码:

<?php

class Db {
  private $servername;
  private $username;
  private $password;
  private $dbname;
  private $conn;

  function __construct($server, $user, $pass, $db) {
    $this->servername = $server;
    $this->username = $user;
    $this->password = $pass;
    $this->dbname = $db;
    $this->conn = false;
  }

  public function connect() {
    $connectionInfo = array("Database"=>$this->dbname, "UID"=>$this->username, "PWD"=>$this->password);
    echo $this->conn;
    $this->conn = sqlsrv_connect($this->servername, $connectionInfo);
    echo "sqlsrv_connect realizado\n";
    if($this->conn === FALSE) {
      echo "Conexión no se pudo establecer\n";
      die( print_r( sqlsrv_errors(), true));
    }
  }

  public function loginPass($email) {
    echo "Funcion accedidad\n";
    $this->connect();
    echo "Conexión realizada\n";
    $sql = "SELECT pass FROM Users WHERE email = '{$email}'";
    $query = sqlsrv_query($this->conn, $sql);
    echo "Query realizado\n";
    if($query === FALSE)
      die( print_r( sqlsrv_errors(), true));
    if( sqlsrv_fetch( $query ) === false)
       die( print_r( sqlsrv_errors(), true));

    echo "Logica realizada\n";
    return sqlsrv_get_field($query, 0);
  }
}

?>

这是SQL连接的一种更简化的实现:

<?php
$serverName = "localhost"; //serverName\instanceName
$connectionInfo = array( "Database"=>"name", "UID"=>"user", "PWD"=>"pass");
$conn = sqlsrv_connect( $serverName, $connectionInfo);

if( $conn ) {
     $sql = 'SELECT data FROM Table WHERE ID = 2';
     $query = sqlsrv_query($conn, $sql);
     sqlsrv_fetch($query);
     $data = sqlsrv_get_field($query, 0);
     echo $data."\n";
}else{
     echo "Conexión no se pudo establecer\n";
     die( print_r( sqlsrv_errors(), true));
}
?>

两种代码均可由控制台执行,但对于Bowser执行则无效。在第一个代码中,我调用了LoginPass函数,但是当它调用connect()时,它将停止工作,更具体地说,在此行中:

$this->conn = sqlsrv_connect($this->servername, $connectionInfo);

它不会引发错误,它只是停止执行并在该行之后执行任何操作。我尝试使用chmod更改文件的权限,使用chown将用户更改为www-data但是得到的结果相同。我也在我的个人计算机(Ubuntu 18.04)上运行它,也不能运行(Firefox浏览器)。

¿这个问题是因为有SQL配置吗?

瓜豆

我通过按照Microsoft的说明从此处重新安装sqlsrv驱动程序进行修复:https ://docs.microsoft.com/zh-cn/sql/connect/php/installation-tutorial-linux-mac?view=sql-server-ver15即使已经安装了组件,也要执行所有步骤,这就是我可以使用任何浏览器来修复与SQL Server的连接的方法。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

自然完全外部联接在我的SQL Server Management Studio中不起作用

来自分类Dev

内部联接在PHP中不起作用,但是在phpMyAdmin SQL中起作用

来自分类Dev

PHP我的SQL插入不起作用

来自分类Dev

JavaScript在我的浏览器中不起作用,但在CodePen中起作用

来自分类Dev

ansible 我的 sql 模块在 Windows Server 中不起作用

来自分类Dev

交叉联接在SQL Server中不起作用

来自分类Dev

在 Ubuntu 16.04 上使用 PHP 7.2 连接到 SQL Server,使用 Microsoft Drivers for PHP for SQL Server,在浏览器中工作,但在命令行中失败

来自分类Dev

我在网络浏览器中从URL加载html的方法不起作用

来自分类Dev

为什么anime.js 在我的浏览器中不起作用?

来自分类Dev

我的搜索栏在不同的浏览器中不起作用

来自分类Dev

利用浏览器缓存在PHP项目的htaccess中不起作用

来自分类Dev

我无法更改SQL Server浏览器的启动模式

来自分类Dev

SQL DISTINCT 在连接中不起作用,不断得到重复。我该如何解决?

来自分类Dev

SQL连接在Windows 10上不起作用

来自分类Dev

为什么我的随机颜色生成器的JS代码在浏览器中不起作用

来自分类Dev

为什么我的更新查询在SQL Server的C#中不起作用?

来自分类Dev

Angular2 RouteLink 在“a”标签中不起作用,但当我在浏览器的导航栏中提示时它起作用

来自分类Dev

与CASE语句的内部联接在SQL SERVER中不起作用

来自分类Dev

子查询的左联接在SQL Server中不起作用

来自分类Dev

为什么我的jquery代码在移动浏览器上不起作用

来自分类Dev

当我从Dreamweaver进行浏览器预览时,javascript行为不起作用,

来自分类Dev

WAMP 我自己的内部 ip 在浏览器上不起作用

来自分类Dev

当我在浏览器中直接输入 URL 时,重写规则不起作用

来自分类Dev

CSS 媒体查询在我的浏览器上不起作用

来自分类Dev

为什么 fetch 在我的移动浏览器上不起作用?

来自分类Dev

从PHP执行时,SQL Server查询不起作用

来自分类Dev

自定义数据库连接在php中不起作用

来自分类Dev

SQL Server扩展在PHP v7.4.8中不起作用

来自分类Dev

读取数据在 CRUD 样式表中不起作用。PHP Ajax、SQL Server

Related 相关文章

  1. 1

    自然完全外部联接在我的SQL Server Management Studio中不起作用

  2. 2

    内部联接在PHP中不起作用,但是在phpMyAdmin SQL中起作用

  3. 3

    PHP我的SQL插入不起作用

  4. 4

    JavaScript在我的浏览器中不起作用,但在CodePen中起作用

  5. 5

    ansible 我的 sql 模块在 Windows Server 中不起作用

  6. 6

    交叉联接在SQL Server中不起作用

  7. 7

    在 Ubuntu 16.04 上使用 PHP 7.2 连接到 SQL Server,使用 Microsoft Drivers for PHP for SQL Server,在浏览器中工作,但在命令行中失败

  8. 8

    我在网络浏览器中从URL加载html的方法不起作用

  9. 9

    为什么anime.js 在我的浏览器中不起作用?

  10. 10

    我的搜索栏在不同的浏览器中不起作用

  11. 11

    利用浏览器缓存在PHP项目的htaccess中不起作用

  12. 12

    我无法更改SQL Server浏览器的启动模式

  13. 13

    SQL DISTINCT 在连接中不起作用,不断得到重复。我该如何解决?

  14. 14

    SQL连接在Windows 10上不起作用

  15. 15

    为什么我的随机颜色生成器的JS代码在浏览器中不起作用

  16. 16

    为什么我的更新查询在SQL Server的C#中不起作用?

  17. 17

    Angular2 RouteLink 在“a”标签中不起作用,但当我在浏览器的导航栏中提示时它起作用

  18. 18

    与CASE语句的内部联接在SQL SERVER中不起作用

  19. 19

    子查询的左联接在SQL Server中不起作用

  20. 20

    为什么我的jquery代码在移动浏览器上不起作用

  21. 21

    当我从Dreamweaver进行浏览器预览时,javascript行为不起作用,

  22. 22

    WAMP 我自己的内部 ip 在浏览器上不起作用

  23. 23

    当我在浏览器中直接输入 URL 时,重写规则不起作用

  24. 24

    CSS 媒体查询在我的浏览器上不起作用

  25. 25

    为什么 fetch 在我的移动浏览器上不起作用?

  26. 26

    从PHP执行时,SQL Server查询不起作用

  27. 27

    自定义数据库连接在php中不起作用

  28. 28

    SQL Server扩展在PHP v7.4.8中不起作用

  29. 29

    读取数据在 CRUD 样式表中不起作用。PHP Ajax、SQL Server

热门标签

归档