0

これは私のphpinfoの結果の一部で、proという言葉を見つけることができましたか?

PDO
PDO support enabled
PDO drivers mysql

pdo_mysql
PDO Driver for MySQL, client library version    5.0.45

奇妙なことに、私はこのエラーを受け取りました:

SQLSTATE[HY000] [2003] Can't connect to MySQL server on 'localhost' (10061)

これに加えて、構成ファイルに「localhost」がありませんでした。

4

3 に答える 3

0

最後にそれは働いた。非常に奇妙な方法で、pdo接続ステートメントの属性の順序を変更した後に接続が確立されました。

変更前の接続は次のとおりです( http://php.net/manual/en/pdo.connections.phpからこの順序に進みます):

try {
    $db = new PDO('mysql:host='.$db_host.';dbname='.$db_name.'', $db_user, $db_pass);
    $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $db->exec("set names utf8");
} catch(PDOException $e) {
    echo 'ERROR: ' . $e->getMessage();
}

次に、次のように順序を変更しようとしました。

try {
    $db = new PDO('mysql:dbname='.$db_name.';host='.$db_host.'', $db_user, $db_pass);
    $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $db->exec("set names utf8");
} catch(PDOException $e) {
    echo 'ERROR: ' . $e->getMessage();
}

そして今、それはうまくいきました。この問題はホスティング会社に起因すると思います。

于 2013-11-16T11:05:08.277 に答える