如何修复“错误SQLSTATE [08001]:[Microsoft] [SQL Server的ODBC驱动程序11]命名管道提供程序:无法打开与SQL Server [53]的连接。”

时间:2019-06-19 14:31:30

标签: php sql-server error-handling odbc singleton

我正在尝试将我的Web应用程序连接到sql服务器数据库,但出现错误。

这是我在mvc中的第一个项目。请检查我的编码模式是否有问题。

控制器:hello.php

 class Hello  
 {

   public function _construct()
   {
    parent::construct();
   }
   public static function index() 
   {        
    $this->view->allrecords = $this->Index_model->getAllrecords();
    $this->view->render('views/index');

    }

 }

lib:Db.class

class Db {

public static $db;

const SERVER = "";
const SCHEMA = "";
const USER = "";
const PASS = "";



public static function databaseConnection() {
    if (!self::$db) {
        try {

            $databse = "sqlsrv:server=" . self::SERVER . ";Database=" . self::SCHEMA;
            self::$db = new PDO($databse, DB::USER, DB::PASS);
            self::$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
        } catch (PDOException $e) {
            die("Error " . $e->getMessage());
        }
    }
    return self::$db;
}

 }

型号:index_model.php

<?php
require_once '../lib/Db.class';

class Index_model 
 {
public static function _construct() {

    parent::_construct();

   }

  public static function getAllrecords(){
    $db = Db::databaseConnection();
    $sql = "SELECT Goals from Goals";
    $stmt = $db->conn->prepare($sql);
    $stmt->execute();
    $data = $stmt->fetchAll(PDO::FETCH_ASSOC);
    return $data;
   }
 }

查看:index.php

<?php
require_once '../models/index_model.php';
require_once '../controllers/hello.php';
?>

<table border="2" id="internalActivities" style="width:100%" class="table 
table-bordered">
    <tbody>
       <tr>
<th>Goals</th>  
 <?php echo Index_model::getAllrecords(); ?>
  </tr>     
</tbody>

我不确定错误可能在哪里。我在其他应用程序中一直使用相同的代码进行连接。只是我在mvc模式中使用它,所以模式中可能有错误。 我想在“目标”表中显示“目标”列表。

0 个答案:

没有答案