如何在一个 php 页面中创建 2 个或更多 PDO 对象?

how to create 2 or more PDO objects in one php page?

嗨,我有一个代码,其中有一个像这样的 pdo 对象:

$db = new PDO('mysql:host='.$servername.'; dbname='.$db.';charset=utf8' , $db_username, $db_password);

很好,但是当我想在同一页面中创建另一个具有不同名称的 PDO 对象时,如下所示:

$dbh = new PDO('mysql:host='.$servername.'; dbname='.$db.';charset=utf8' , $db_username, $db_password);
$notification_array = $dbh -> prepare("select * from `machines`ORDER BY id DESC limit 51 ");

php 说:

 Catchable fatal error: Object of class PDO could not be converted to string

我想也许我必须让最后一个 PDO 对象 ($db) 为空! 像这样:

$db = null;
$dbh = new PDO('mysql:host='.$servername.'; dbname='.$db.';charset=utf8' , $db_username, $db_password);
$notification_array = $dbh -> prepare("select * from `machines`ORDER BY id DESC limit 51 ");

但是通过这种方式我的代码不起作用并且无法读取 table 如何在页面中创建 2 个类似的 Pdo 对象?我需要它让它们彼此相邻

$db = new PDO('mysql:host='.$servername.'; dbname='.$db.';charset=utf8' , $db_username, $db_password); 您正在为 pdo 对象和 dbname 使用相同的变量名 $db 你应该使用 dbname='.$dbname 例如。

将您的第一个连接命名为 $con 或其他名称,因为您已经在使用 $db 变量作为数据库名称。

如果您要连接到同一个数据库,并且通过使用相同的变量来判断,您就不需要关闭连接并在查询之间重新打开它。

$con = new PDO($db,$name,$pass);
$con->query();
//do what you want with your query

$con->query();
//and then just move on to your next query