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

如何在一个php页面中创建2个或多个PDO对象?,php,object,pdo,Php,Object,Pdo,嗨,我有一个代码,其中有一个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' , $

嗨,我有一个代码,其中有一个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 ");
$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 ");
php说:

 Catchable fatal error: Object of class PDO could not be converted to string
我想也许我必须使最后一个PDO对象($db)为空! 像这样:

$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 ");
$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 ");
但通过这种方式,我的代码无法工作,也无法读取表 如何在一个页面中创建2个simllar Pdo对象?我需要它让他们在一起
$db=new-PDO('mysql:host='.$servername.';dbname='.$db.';charset=utf8',$db\u username,$db\u password)
对于pdo对象和dbname,使用相同的变量名
$db
你应该使用
dbname=”。$dbname
例如。

中的
$db=new-PDO('mysql:host='.$servername.';dbname='.$db.';charset=utf8',$db\u username,$db\u 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

将您的第一个连接命名为$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

重命名第一个PDO对象的变量。您确切的意思是什么?数据库名称存储在名为$db的变量中。您正在使用
$db
,第一个作为连接,第二个作为数据库名称,如@bbldzr所说。然后在新的PDO连接中再次使用它。您需要在第一个实例和第二个实例中更改
dbname='.$db.
。@JayBlanchard tnx;s第一个PDO对象的itRename变量。您确切的意思是什么?数据库名称存储在名为$db的变量中。您使用的是
$db
,第一个作为连接,第二个作为数据库名称,如@bbldzr所说。然后在新的PDO连接中再次使用它。您需要在第一个实例和第二个实例中更改
dbname='.$db.
。@JayBlanchard tnx;就这样