0
$hostname_MYDB = "192.168.0.5";
$database_MYDB = "mydb";
$username_MYDB = "root";
$password_MYDB = "test";

try {
    $MYDBPDO = new PDO("mysql:host=".$hostname_MYDB.";dbname=".$database_MYDB, $username_MYDB, $password_MYDB);
    $MYDBPDO->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);  
    $MYDBPDO->setAttribute(PDO::ATTR_TIMEOUT, 1);
} catch (PDOException $ex) {
    echo "unable to connect to mysql server";
}

I run this with mysql server shut-down but it doesn't seem to work, the page keeps loading ( trying to connect ).

the mysql server is running on windows if that makes a difference, php too.

4

3 回答 3

0

我必须像这样在初始化期间将属性作为参数传递

$MYDBPDO = new PDO("mysql:host=".$hostname_MYDB.";dbname=".$database_MYDB, $username_MYDB, $password_MYDB, array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, PDO::ATTR_TIMEOUT => 1)); 

以后不会通过 set 属性。

于 2013-09-20T13:39:18.913 回答
0

尝试这个

 try {
        $conn = new PDO('mysql:host=localhost;dbname=myDatabase', $username, $password);
        $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);


    } catch(PDOException $e) {
        echo 'ERROR: ' . $e->getMessage();
    }
于 2013-09-20T13:43:04.977 回答
0

构造函数接受用于指定数据库源(称为 DSN)和可选的用户名和密码(如果有)的参数。参见手册。DSN 由mysql:host=localhostAND组成dbname

在你的情况下。

"mysql:host=$hostname_MYDB;dbname=$database_MYDB"

代替

$MYDBPDO = new PDO("mysql:host=".$hostname_MYDB.";dbname=".$database_MYDB, $username_MYDB, $password_MYDB);

尝试

$MYDBPDO = new PDO("mysql:host=$hostname_MYDB;dbname=$database_MYDB", $username_MYDB, $password_MYDB);
于 2013-09-20T13:54:28.807 回答