Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Koneksi PDO ke database MySQL ditolak

Coba fungsi dan variabel konstan saya yang ada, Anda juga dapat mengubah konstanta tersebut menjadi variabel array yang Anda miliki.

define("SERVER_SQL_VERSION","mysql");
define("SQL_SERVER","localhost");
define("SQL_PORT","3306");
define("SQL_USERNAME","root");
define("SQL_PASSWORD","");
define("SQL_DB_NAME","db");

if(!function_exists('pdoConnect')) {
    function pdoConnect() {
        $pdo = new PDO(SERVER_SQL_VERSION.":host=".SQL_SERVER.";dbname=".SQL_DB_NAME."", "".SQL_USERNAME."", "".SQL_PASSWORD.""); 
        $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
        $pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
        return $pdo;
    }
}

Mungkin ada masalah tentang penggabungan Anda, ini pasti berhasil...

Saya juga memisahkan SERVER_SQL_VERSION, dan menambahkan fungsi untuk memeriksa apakah driver tersedia...Saya menggunakan perangkat lunak XAMPP dan hanya mysql dan sqlite yang aktif, jika Anda/orang lain mencoba menggunakan postgresql dan seterusnya...itu harus bekerja juga.

if(!function_exists('check_sql_version')) {
    function check_sql_version() {
        $sql_available = false;     //make it false yet
        foreach(PDO::getAvailableDrivers() as $key => $val) {
            if(SERVER_SQL_VERSION == $val)
            {
                $sql_available = true;
            }
        }
        //check now if sql_available is true or false
        if($sql_available == true)
            return true;
        else
            return false;
    }
}

Jadi sampel harus dipertimbangkan:

if(!check_sql_version()) {
    echo '('.SERVER_SQL_VERSION.') is not available, you only have this drivers:<br/>';
    foreach(PDO::getAvailableDrivers() as $key => $val) {
        $key = $key + 1;
        echo $key.') '.$val.'<br/>';
    }
    exit(); //exit and dont proceed
}
$stmt = pdoConnect()->prepare("SELECT * FROM accounts");
$stmt->execute();

Semoga membantu!




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kueri COUNT yang rumit di MySQL

  2. Bagaimana cara memanggil Stored Procedure dengan Eloquent (Laravel)?

  3. Memfilter pada alias di mysql

  4. Hapus atau Pangkas Beberapa Karakter Pertama atau Terakhir di Database MySQL dengan SQL

  5. satu artikel di beberapa kategori