sql >> Databáze >  >> RDS >> Mysql

Připojení PDO k databázi MySQL bylo odmítnuto

Vyzkoušejte mé stávající funkce a konstantní proměnné, můžete je také změnit na proměnnou pole, kterou máte.

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

Může být problém s vaším zřetězením, musí to fungovat...

Také jsem oddělil SERVER_SQL_VERSION a přidal funkce pro kontrolu, zda je ovladač k dispozici...používám software XAMPP a aktivní je pouze mysql a sqlite, pokud se vy/ostatní pokusíte použít postgresql a tak dále...to musí pracovat také.

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

Takže by měl být zvážen vzorek:

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

Doufám, že to pomůže!




  1. ERROR 1064 (42000):Máte chybu v syntaxi SQL; Chcete nakonfigurovat heslo jako uživatel root

  2. Vylepšujeme datový model online pracovního portálu

  3. Nelze přetrvat hashset v hibernaci

  4. Jak přeskočit řádek při importu špatného výpisu MySQL