无法检测我是否可以通过pdo连接到mysql

时间:2013-09-20 13:17:58

标签: php mysql pdo

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

我使用mysql服务器关闭运行它,但它似乎不起作用,页面继续加载(尝试连接)。

mysql服务器在Windows上运行,如果这有所不同,也是php。

3 个答案:

答案 0 :(得分: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)); 

不久以后通过setattribute。

答案 1 :(得分: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();
    }

答案 2 :(得分:0)

构造函数接受用于指定数据库源(称为DSN)的参数,并可选择接受用户名和密码(如果有)的参数。请参阅Manual。 DSN由mysql:host=localhostdbname组成。

在你的情况下。

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