Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Odmowa połączenia PDO z bazą danych MySQL

Wypróbuj moje istniejące funkcje i stałe zmienne, możesz również zmienić te stałe na zmienną tablicową, którą masz.

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

Może być problem z twoją konkatenacją, to musi działać...

Oddzieliłem również SERVER_SQL_VERSION i dodałem funkcje, aby sprawdzić, czy sterownik jest dostępny ... Używam oprogramowania XAMPP i tylko mysql i sqlite są aktywne, jeśli Ty lub inni próbujecie używać postgresql i tak dalej ... to musi również pracować.

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

Należy więc wziąć pod uwagę próbkę:

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

Mam nadzieję, że to pomoże!




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Czy można policzyć dwie kolumny w tym samym zapytaniu?

  2. jeśli wiersz1 =wartość 1, zaktualizuj inne wiersze

  3. Zapytanie MySQL Wybierz, SUMA, POŁĄCZENIE LEWE

  4. Importuj dane z Excela do tabel relacyjnych w MySQL

  5. jak zamawiać według nazwy kolumny dynamicznej w EntityFramework?