Tri*_*ham 9 php mysql sql mysqli pdo
我正在尝试在我的主机上建立一个新站点(主机路由,如果它很重要)但我在尝试使用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
Run Code Online (Sandbox Code Playgroud)
当我使用这些设置时:
$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');
Run Code Online (Sandbox Code Playgroud)
如何布置数据库:

我可以在我的其他子域/主站点上使用mysqli connect fine,但我无法让PDO工作.
我试过这个,我见过:
$stmt = $dbh->prepare('SELECT * FROM gamersite.USERS WHERE ID = :id LIMIT 1');
Run Code Online (Sandbox Code Playgroud)
但它重新调整了语法错误.
任何人都知道这可能导致什么?
这一切都在我的本地服务器上运行,除了连接线之外没有任何改变.
小智 12
代替:
$dbh = new PDO("mysql:91.146.107.11;dbname=kennyi81_gamersite", "kennyi81_gamer", "***************");
Run Code Online (Sandbox Code Playgroud)
尝试:
$dbh = new PDO("mysql:host=91.146.107.11;dbname=kennyi81_gamersite", "kennyi81_gamer", "***************");
Run Code Online (Sandbox Code Playgroud)
(添加host =)
它很可能在你的本地服务器上工作,因为你有mysql:localhost...或者mysql:127.0.0.1...它被忽略(因为它缺少host = aswell)并且默认情况下它是localhost.
| 归档时间: |
|
| 查看次数: |
18306 次 |
| 最近记录: |