【问题标题】:000webhost website database connection Error000webhost网站数据库连接错误
【发布时间】:2016-11-07 08:04:44
【问题描述】:

我对@9​​87654321@ 数据库上传感到非常困惑,我已将我的数据库设置在他们的位置,并使用用户名和密码完美地访问它。现在尝试通过 PHP 代码进行连接,但我失败了,得到 500 个错误代码并且没有错误的详细信息,尽管我还在连接代码中记录了异常消息,但它只显示“发生连接错误”,仅此而已:

//DB Configuration
$hostName = 'localhost';
$dbUserName = 'id143984_jw_kioskuser';
$dbPassword = '***********';
$databaseName = 'id143984_jw_kiosk';

try{
     $dbHandler = new PDO('mysql:host='. $hostName . ';dbname='. $databaseName, $dbUserName, $dbPassword);
}
catch(PDOException $ex){
    echo '<h1>A Connection error has occurred.</h1><pre>', $e->getMessage() ,'</pre>';
    echo $e->getMessage();
}

我当前在 000webhost 的数据库界面告诉我 “使用 localhost 作为连接主机名” 而在another post of 000WEbhost 中说“永远不要使用 'localhost' 作为您的 MySQL 主机名!您可以通过登录成员区域,进入控制面板并单击 MySQL 图标来找到您的 MySQL 主机名。”

如何才能成功连接?

【问题讨论】:

  • 输入你的 mysql-server 的 url insted of "localhost"
  • @Blueblazer172 确保连接中的数据库配置正确并与托管数据库配置匹配
  • @Blueblazer172 databases.000webhost.com 是数据库网址
  • @NewbeeDev 你将如何做到这一点?我已经匹配了所有的东西。问题所述的主机名混淆
  • 将“localhost”替换为“databases.000webhost.com”

标签: php mysql pdo web-hosting


【解决方案1】:

感谢Show MySQL host via SQL Command Answer at stack,我终于通过mysql查询得到了答案 我在查询下运行并获取主机名并在我的 php 中使用它现在可以工作了。

 select @@hostname;
    show variables where Variable_name like '%host%';

【讨论】:

  • 在哪里运行此查询以免费获取 000webhost 的主机名
【解决方案2】:
$hostName = 'mysql6.000webhosting.com';
$dbUserName = 'id143984_jw_kioskuser';
$dbPassword = '***********';
$databaseName = 'id143984_jw_kiosk';



$con = mysql_connect($hostName,$dbUserName,$dbPassword);
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }`enter code here`

mysql_select_db("$databaseName",$con);

这应该给你真正的原因并记下正确的主机名

【讨论】:

  • 您在哪里找到主机名?而且我不愿意使用旧的 sql 连接。我想要 pdo
猜你喜欢
  • 2012-12-26
  • 1970-01-01
  • 1970-01-01
  • 2016-10-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-01-22
相关资源
最近更新 更多