我正在尝试在主机上设置一个新站点(主机路由,如果有关系的话),但是当我尝试使用PDO时(我正在尝试的第一个PDO站点),我一直收到此错误:
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[3D000]: Invalid catalog name: 1046 No database selected' in /home/kennyi81/public_html/gamersite/login.php:36 Stack trace: #0 /home/kennyi81/public_html/gamersite/login.php(36): PDOStatement->execute() #1 {main} thrown in /home/kennyi81/public_html/gamersite/login.php on line 36
当我使用这些设置时:
$dbh = new PDO("mysql:91.146.107.11;dbname=kennyi81_gamersite", "kennyi81_gamer", "***************");
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
....
$stmt = $dbh->prepare('SELECT * FROM USERS WHERE ID = :id LIMIT 1');
数据库的布局方式:
我可以在其他子域/主站点上使用mysqli connect fine,但是我无法使PDO正常工作。
我已经尝试过了,我已经看到了:
$stmt = $dbh->prepare('SELECT * FROM gamersite.USERS WHERE ID = :id LIMIT 1');
但会重新调整语法错误。
任何人都不知道可能是什么原因造成的吗?
这一切都在我的本地服务器上进行,除了连接线外,上传时没有任何更改。
代替:
$dbh = new PDO("mysql:91.146.107.11;dbname=kennyi81_gamersite", "kennyi81_gamer", "***************");
尝试:
$dbh = new PDO("mysql:host=91.146.107.11;dbname=kennyi81_gamersite", "kennyi81_gamer", "***************");
(添加主机=)
而且它最有可能在您的本地服务器上运行,因为您拥有mysql:localhost...
或mysql:127.0.0.1...
在那里,并且被忽略了(因为它缺少host = aswell),并且默认情况下是localhost。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句