Welcome Guest, Not a member yet? Register   Sign In
Codeigniter 4 not working with sqlsrv
#3

Hello I am using PHP: 8.2.18 — CodeIgniter: 4.5.2, Still getting the same error.
If the use the below php code it works for me.
PHP Code:
$serverName ''
$username '';
$password '';
$database '';


try {
    $conn = new PDO("sqlsrv:server=$serverName;Database=$database"$username$password);
    $conn->setAttribute(PDO::ATTR_ERRMODEPDO::ERRMODE_EXCEPTION);
    echo "Connected successfully";
} catch (
PDOException $e) {
    echo "Connection failed: " $e->getMessage();


I have the below code in Database.php and the values are in .env
PHP Code:
<?php

namespace Config;

use 
CodeIgniter\Database\Config;

/**
 * Database Configuration
 */
class Database extends Config
{
    /**
    * The directory that holds the Migrations and Seeds directories.
    */
    public string $filesPath APPPATH 'Database' DIRECTORY_SEPARATOR;

    /**
    * Lets you choose which connection group to use if no other is specified.
    */
    public string $defaultGroup 'default';

    /**
    * The default database connection.
    *
    * @var array<string, mixed>
    */

    public array $default = [
            'DSN'        => '',
          'hostname'  => '',
            'username'  => '',
            'password'  => '',
            'database'  => '',
            'schema'    => '',
          'DBDriver'  => 'SQLSRV',
            'DBPrefix'  => '',
            'pConnect'  => false,
          'DBDebug'    => true,
            'charset'    => 'utf8',
            'swapPre'    => '',
            'encrypt'    => false,
            'failover'  => [],
            'port'      => '',
            'dateFormat' => [
                'date'    => 'Y-m-d',
                'datetime' => 'Y-m-d H:i:s',
                'time'    => 'H:i:s',
            ],
        ];


    //$db = \Config\Database::connect('sql', true); // true parameter enables query builder
    //    /**
    //    * Sample database connection for SQLite3.
    //    *
    //    * @var array<string, mixed>
    //    */
    //    public array $default = [
    //        'database'    => 'database.db',
    //        'DBDriver'    => 'SQLite3',
    //        'DBPrefix'    => '',
    //        'DBDebug'    => true,
    //        'swapPre'    => '',
    //        'failover'    => [],
    //        'foreignKeys' => true,
    //        'busyTimeout' => 1000,
    //        'dateFormat'  => [
    //            'date'    => 'Y-m-d',
    //            'datetime' => 'Y-m-d H:i:s',
    //            'time'    => 'H:i:s',
    //        ],
    //    ];

    //    /**
    //    * Sample database connection for Postgre.
    //    *
    //    * @var array<string, mixed>
    //    */
    //    public array $default = [
    //        'DSN'        => '',
    //        'hostname'  => 'localhost',
    //        'username'  => 'root',
    //        'password'  => 'root',
    //        'database'  => 'ci4',
    //        'schema'    => 'public',
    //        'DBDriver'  => 'Postgre',
    //        'DBPrefix'  => '',
    //        'pConnect'  => false,
    //        'DBDebug'    => true,
    //        'charset'    => 'utf8',
    //        'swapPre'    => '',
    //        'failover'  => [],
    //        'port'      => 5432,
    //        'dateFormat' => [
    //            'date'    => 'Y-m-d',
    //            'datetime' => 'Y-m-d H:i:s',
    //            'time'    => 'H:i:s',
    //        ],
    //    ];

    //    /**
    //    * Sample database connection for SQLSRV.
    //    *
    //    * @var array<string, mixed>
    //    */
    //    public array $default = [
    //        'DSN'        => '',
    //        'hostname'  => 'localhost',
    //        'username'  => 'root',
    //        'password'  => 'root',
    //        'database'  => 'ci4',
    //        'schema'    => 'dbo',
    //        'DBDriver'  => 'SQLSRV',
    //        'DBPrefix'  => '',
    //        'pConnect'  => false,
    //        'DBDebug'    => true,
    //        'charset'    => 'utf8',
    //        'swapPre'    => '',
    //        'encrypt'    => false,
    //        'failover'  => [],
    //        'port'      => 1433,
    //        'dateFormat' => [
    //            'date'    => 'Y-m-d',
    //            'datetime' => 'Y-m-d H:i:s',
    //            'time'    => 'H:i:s',
    //        ],
    //    ];

    //    /**
    //    * Sample database connection for OCI8.
    //    *
    //    * You may need the following environment variables:
    //    *  NLS_LANG                = 'AMERICAN_AMERICA.UTF8'
    //    *  NLS_DATE_FORMAT        = 'YYYY-MM-DD HH24:MI:SS'
    //    *  NLS_TIMESTAMP_FORMAT    = 'YYYY-MM-DD HH24:MI:SS'
    //    *  NLS_TIMESTAMP_TZ_FORMAT = 'YYYY-MM-DD HH24:MI:SS'
    //    *
    //    * @var array<string, mixed>
    //    */
    //    public array $default = [
    //        'DSN'        => 'localhost:1521/XEPDB1',
    //        'username'  => 'root',
    //        'password'  => 'root',
    //        'DBDriver'  => 'OCI8',
    //        'DBPrefix'  => '',
    //        'pConnect'  => false,
    //        'DBDebug'    => true,
    //        'charset'    => 'AL32UTF8',
    //        'swapPre'    => '',
    //        'failover'  => [],
    //        'dateFormat' => [
    //            'date'    => 'Y-m-d',
    //            'datetime' => 'Y-m-d H:i:s',
    //            'time'    => 'H:i:s',
    //        ],
    //    ];

    /**
    * This database connection is used when running PHPUnit database tests.
    *
    * @var array<string, mixed>
    */
    public array $tests = [
        'DSN'        => '',
        'hostname'    => '127.0.0.1',
        'username'    => '',
        'password'    => '',
        'database'    => ':memory:',
        'DBDriver'    => 'SQLite3',
        'DBPrefix'    => 'db_',  // Needed to ensure we're working correctly with prefixes live. DO NOT REMOVE FOR CI DEVS
        'pConnect'    => false,
        'DBDebug'    => true,
        'charset'    => 'utf8',
        'DBCollat'    => '',
        'swapPre'    => '',
        'encrypt'    => false,
        'compress'    => false,
        'strictOn'    => false,
        'failover'    => [],
        'port'        => 3306,
        'foreignKeys' => true,
        'busyTimeout' => 1000,
        'dateFormat'  => [
            'date'    => 'Y-m-d',
            'datetime' => 'Y-m-d H:i:s',
            'time'    => 'H:i:s',
        ],
    ];

    public function __construct()
    {
        parent::__construct();

        // Ensure that we always set the database group to 'tests' if
        // we are currently running an automated test suite, so that
        // we don't overwrite live data on accident.
        if (ENVIRONMENT === 'testing') {
            $this->defaultGroup 'tests';
        }
    }

Please suggest
Reply


Messages In This Thread
RE: Codeigniter 4 not working with sqlsrv - by PoosaNilaveni - 07-11-2024, 08:14 PM



Theme © iAndrew 2016 - Forum software by © MyBB