PHP PDO:无法连接,目录名称无效
我正在尝试在主机上设置一个新站点(主机路由,如果它很重要),但是当我尝试使用PDO时(我正在尝试的第一个PDO站点),我一直收到此错误消息:
I am trying to set up a new site on my hosting (Host route if it matters) but i keep getting this error when i try using PDO (first PDO site im trying):
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正常工作.
I am able to use mysqli connect fine on my other sub domains / main site, but i just cannot get PDO to work.
我已经尝试过了,我已经看到了:
I've tried this, which i have seen around:
$stmt = $dbh->prepare('SELECT * FROM gamersite.USERS WHERE ID = :id LIMIT 1');
但它会重新调整语法错误.
but it retuns a syntax error.
任何人都不知道是什么原因造成的吗?
Anyone have any idea what may be causing this?
这一切都在我的本地服务器上进行,上传时除了连接线没有任何变化.
This is all working on my local server, nothing changed on upload apart from connect line.
而不是:
$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", "***************");
(添加 host = )
它最有可能在您的本地服务器上运行,因为您在那里有mysql:localhost...
或mysql:127.0.0.1...
并且被忽略了(因为它也缺少了 host = ),默认情况下它是本地主机.
And it most likely works on your local server, because you have mysql:localhost...
or mysql:127.0.0.1...
there and it's ignored (cause it's missing host= aswell) and by default it's localhost.