Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Kết nối PDO với cơ sở dữ liệu MySQL bị từ chối

Hãy thử các hàm hiện có và các biến hằng số của tôi, bạn cũng có thể thay đổi các hằng số đó thành một biến mảng mà bạn có.

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;
    }
}

Có thể có sự cố về cách ghép nối của bạn, điều này chắc hẳn đang hoạt động ...

Tôi cũng đã tách SERVER_SQL_VERSION và thêm một hàm để kiểm tra xem trình điều khiển có khả dụng hay không ... Tôi đang sử dụng phần mềm XAMPP và chỉ mysql và sqlite là hoạt động, nếu bạn / những người khác cố gắng sử dụng postgresql, v.v. đang hoạt động tốt.

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;
    }
}

Vì vậy, một mẫu nên được xem xét:

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();

Tôi hy vọng nó sẽ hữu ích!




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Máy chủ WAMP màu xanh lục nhưng chỉ nhận được 404

  2. Cha mẹ con mysql

  3. MySQL:Chọn tháng trước và tháng trước

  4. Làm cách nào để chuyển đổi câu lệnh SQL này thành Django QuerySet?

  5. Làm cách nào để bạn chọn một cột bằng Hibernate?