PHP PDO:无法连接,目录名称无效 [英] PHP PDO: Unable to connect, Invalid catalog name

查看:84
本文介绍了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.

这篇关于PHP PDO:无法连接,目录名称无效的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆