Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

MySQL डेटाबेस से PDO कनेक्शन ने मना कर दिया

मेरे मौजूदा कार्यों और स्थिर चरों का प्रयास करें, आप उन स्थिरांक को अपने पास मौजूद एक सरणी चर में भी बदल सकते हैं।

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

आपके संयोजन के बारे में कोई समस्या हो सकती है, यह काम कर रहा होगा...

मैंने SERVER_SQL_VERSION को भी अलग किया, और यह जांचने के लिए एक फ़ंक्शन जोड़ा कि क्या ड्राइवर उपलब्ध है ... मैं XAMPP सॉफ़्टवेयर का उपयोग कर रहा हूं और केवल mysql और sqlite सक्रिय है, यदि आप/अन्य लोग postgresql का उपयोग करने का प्रयास करते हैं और इसी तरह ... साथ ही काम करें।

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

तो एक नमूने पर विचार किया जाना चाहिए:

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

मुझे आशा है कि यह मदद करता है!




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. तैयार विवरण के साथ त्रुटि

  2. मैसकल में एक्सओआर बाधा

  3. यादृच्छिक नामों की तालिका से एसक्यूएल अपडेट

  4. हाइबरनेट, C3P0, मैसकल - टूटा हुआ पाइप

  5. MySQL खंड में मदों की संख्या