无法使用HostGator(PHP)连接到Mysql数据库

时间:2013-08-30 16:16:58

标签: php mysql pdo connection

我一直在尝试通过下面引用的PDO连接在我新收购的网站上连接到我的MYSQL数据库,它似乎没有正常工作,因为它一旦我尝试使用查询就失败了或者添加条目。所有信息似乎都是正确的,但每当我尝试使用任何命令时,选择或添加条目,都会给我这个错误:

  

数组([0] => 3D000 [1] => 1046 [2] =>未选择数据库)1

以下是我的联系:

try {
    $db = new PDO('mysql:localhost;dbname=username_dbName', 'username_dbUser', 'password');
}
catch (Exception $e) {
        die('Erreur : ' . $e->getMessage());
        print 'Unable to Connect. Please contact the website administrator.';
}

以下是我用来测试查询是否有效的代码。

$req = $db->prepare('INSERT INTO testTable(number) 
                        VALUES(:number)');
$req->execute(array('number' => 13)) or die(print_r($req->errorInfo()));

显然我使用连接的实际登录值,但它不起作用,我无法理解为什么。 我的网站由HostGator托管,如果可以帮助的话。

提前感谢您的回答!

5 个答案:

答案 0 :(得分:1)

我认为问题在于您指出localhost。某些托管服务要求您使用localhost以外的其他内容。您也许可以尝试127.0.0.1而不是它。

如果它没有帮助,并且您确定您的用户名,密码和数据库参数都是正确的,我相信您需要向您的托管服务提供商询问正确的mysql服务器地址。

答案 1 :(得分:1)

试试这个

try {
    $db = new PDO('mysql:dbname=username_dbName;host=localhost', 'username_dbUser', 'password');
}

答案 2 :(得分:0)

您实际代码中的

username_dbName变量,如$username_dbName?在这种情况下,您应该使用双引号而不是单引号。

"mysql:localhost;dbname=$username_dbName"

答案 3 :(得分:0)

尝试

$host = 'localhost';
$dbname = 'username_dbName';
$username = 'username_dbUser';
$pw = 'password';
$db = new PDO("mysql:host=$host;dbname=$dbname", $username, $pw);

编辑:纠正错字

答案 4 :(得分:0)

尝试一下:

  'driver'    => 'mysql',
  'host'      => '(use the server IP address)',
  'database'  => '(database Name)',
  'username'  => '(database Username)',
  'password'  => '(the password you entered for that database user)',
  'charset'   => 'utf8',
  'collation' => 'utf8_unicode_ci',
  'prefix'    => ''