相关疑难解决方法(0)

PDO连接测试

我正在为我的一个应用程序编写安装程序,我希望能够测试一些默认的数据库设置.

使用PDO测试有效和无效的数据库连接是否可行?

我有以下代码:

try{
            $dbh = new pdo('mysql:host=127.0.0.1:3308;dbname=axpdb','admin','1234');
            die(json_encode(array('outcome' => true)));
        }catch(PDOException $ex){
            die(json_encode(array(
                'outcome' => false,
                'message' => 'Unable to connect'
            )));
        }
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是脚本试图连接,直到60秒的脚本执行时间用完,而不是说它无法连接到数据库.

谢谢

php mysql pdo

32
推荐指数
2
解决办法
7万
查看次数

PHP保持PDO ATTR_PERSISTENT连接活着

我正在使用PDO Persistent Connection运行无休止的PHP脚本,如下所示:

$conn=new PDO(
  'mysql:host=127.0.0.1','user','pass', array(PDO::ATTR_PERSISTENT => true)
);
Run Code Online (Sandbox Code Playgroud)

mySQL wait_timeout变量设置为28800,我将脚本空闲了12个小时以进行测试; 并自动删除连接,因此我假设该PDO::ATTR_PERSISTENT属性被系统变量取代wait_timeout.

所以我想知道是否有一个设置或另一个PHP方法来保持连接呼吸,只要PHP脚本正在运行以及这是否是一个好习惯.

我的计划B将每60分钟执行一次无资源的mySQL查询来重置时钟.

操作系统:4GB RAM VPS Debian 64位SSD

php mysql pdo

3
推荐指数
1
解决办法
2040
查看次数

PDO测试如果连接

我无法在任何地方找到答案.也许它非常简单

我有这样的mysql PDO连接:

try{
$DBH = new PDO("mysql:host=$db_hostname;dbname=$db_database", $db_username, $db_password);
$DBH->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );  
}
catch (PDOException $e){
echo $e->getMessage();
exit;
}
Run Code Online (Sandbox Code Playgroud)

我想测试连接是否有效,即.如果密码,用户名,数据库名称和主机名拼写正确.

尝试,抛出似乎只是拾取基本错误,如果驱动程序拼写错误.如果说密码错误,它不会引发错误.

谢谢

php mysql connection pdo

2
推荐指数
1
解决办法
2万
查看次数

标签 统计

mysql ×3

pdo ×3

php ×3

connection ×1