您好我有一个代码,其中有一个像这样的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)NULL! 像这样:
$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对象?我需要它让它们彼此相邻
答案 0 :(得分:3)
在
$db = new PDO('mysql:host='.$servername.'; dbname='.$db.';charset=utf8' , $db_username, $db_password);
您对pdo对象和dbname使用相同的变量名$db
你应该用
dbname='.$dbname
例如。
答案 1 :(得分:3)
将您的第一个连接命名为$ 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