[英]Cannot connect to Mysql database with HostGator (PHP)
我一直在嘗試通過下面引用的 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 托管,如果有幫助的話。
提前感謝您的回答!
我認為問題出在您指出的localhost
。 某些托管服務要求您使用localhost
以外的其他內容。 您也許可以嘗試127.0.0.1
而不是它。
如果它沒有幫助並且您確定您的用戶名、密碼和數據庫參數完全正確,我相信您需要向您的托管服務提供商詢問正確的 mysql 服務器地址。
試試這個
try {
$db = new PDO('mysql:dbname=username_dbName;host=localhost', 'username_dbUser', 'password');
}
在您的真實代碼中, username_dbName
是一個變量,例如$username_dbName
? 在這種情況下,您應該使用雙引號而不是單引號。
"mysql:localhost;dbname=$username_dbName"
嘗試
$host = 'localhost';
$dbname = 'username_dbName';
$username = 'username_dbUser';
$pw = 'password';
$db = new PDO("mysql:host=$host;dbname=$dbname", $username, $pw);
編輯:更正錯字
試試這個:
'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' => ''
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.