我想使用PDO連接到我的數據庫,但我無法得到它的工作。我得到一個500服務器錯誤mysql_connect()工程PDO不
MySQL版本5.0.83
'PDOException' with message 'SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: nodename nor servname provided, or not known' inerror: Fatal error: Uncaught exception
其他錯誤,我得到:
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY000] [2002] Operation timed out'
我在這個例子中改變了價值明顯。是的,他們是正確的憑據。我可以連接Sequel Pro或其他方法。
connection.php:
<?php
//Our MySQL user account.
define('MYSQL_USER', 'user');
//Our MySQL password.
define('MYSQL_PASSWORD', 'pass');
//The server that MySQL is located on.
define('MYSQL_HOST', 'host');
//The name of our database.
define('MYSQL_DATABASE', 'database');
/**
* PDO options/configuration details.
* I'm going to set the error mode to "Exceptions".
* I'm also going to turn off emulated prepared statements.
*/
$pdoOptions = array(
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_EMULATE_PREPARES => false
);
/**
* Connect to MySQL and instantiate the PDO object.
*/
$pdo = new PDO(
"mysql:host=" . MYSQL_HOST . ";dbname=" . MYSQL_DATABASE, //DSN
MYSQL_USER, //Username
MYSQL_PASSWORD, //Password
$pdoOptions //Options
);
registration.php的
<?php
require 'connection.php';
奇怪的是,這個網站的mysql_connect的舊頁()被使用。
$db = mysql_connect($hostname, $db_user, $db_password); mysql_select_db($database,$db);
這與完全相同的憑據完美。
它託管在共享主機上,並且服務器上啓用了PDO。 共享主機:Blacknight
我想:
- 不使用$ pdoOptions
- 不使用define()
- 不使用要求,並把新的PDO碼直入和registration.php文件
- 在答案中運行腳本,現在我的mysql_connect()執行超時並在我的主機上收到一個白屏。
now: Fri, 15 Jan 2016 08:54:21 +0100 last changed:Fri, 15 Jan 2016 08:53:01 +0100 Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in connection.php on line 14
Warning: mysql_connect(): Operation timed out in connectie.php on line 14 connection failed. Operation timed out
您是否使用確切(!)相同的定義爲您的mysql_ *和PDO代碼? – VolkerK
另一種可能性是:主機完全錯誤,並且'mysql_connect'出於同樣的原因失敗,但是實際上並沒有檢查它,並且在調用後續的'mysql_'函數時,它們會執行其隱含的幕後操作,猜猜發生了什麼工作。 – deceze
我們將很難幫助您在這裏,而不知道主機應該是什麼,它的實際是什麼,也許有關於您的DNS解析器的東西。 – deceze