sábado, 15 de abril de 2023

CONEXION SQL SERVER (sqlsrv - pdo) con PHP 7.4 - Orientado a Objetos

EJEMPLO DE  MODELO

<?php

class Conexion_model
{
    private $conn;

    public function __construct()
    {
        $this->connect();
    }

    private function connect()
    {
        $serverName = "133.133.133.133\SQLEXPRESS"; // Nombre del servidor SQL Server
        $connectionOptions = ['Database' => 'DB_PRIMA',
        'Uid' => 'SERGIOS',
        'PWD' => 'CLAVES-_-',
        ];

        try {
            // Crear una nueva conexión PDO en modo orientado a objetos
            $this->conn = new PDO("sqlsrv:server=$serverName;Database={$connectionOptions['Database']}", $connectionOptions['Uid'], $connectionOptions['PWD']);
            // Establecer opciones de manejo de errores y excepciones
            $this->conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
        } catch (PDOException $e) {
            // Manejo de errores
            die('Error de conexión: '.$e->getMessage());
        }
    }

    public function query($sql)
    {
        return $this->conn->query($sql);
    }

    public function closeConnection()
    {
        $this->conn = null;
    }
}


EJEMPLO DEL CONTROLADOR


<?php

require '../models/conexion_model.php';

class Facturacion
{
    private $conexion;

    public function __construct()
    {
        $conexion = new Conexion_model();
        $this->conexion = $conexion;
    }

    public function fetchData()
    {
        $query = 'SELECT * FROM test';
        $stmt = $this->conexion->query($query);
        $results = $stmt->fetchAll(PDO::FETCH_OBJ);

        return $results;
    }
}

$facturacion = new Facturacion();
$test = $facturacion->fetchData();

print_r($test);


Recuerden habilitar la extencion de sql server en PHP.INI












No hay comentarios:

Publicar un comentario