$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。
答案 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=localhost
和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);