0

mysqli との接続を成功させるために使用したため、接続パラメーターは正しいです。しかし、PDO に切り替えてから、問題が発生し、Unknown MySQL server host常に例外がスローされます。

私の関連コードはこれです:

class UpdateStock{
     public function __construct(){
        try{
           $connection = new PDO('mysql:host=localhost:8889;dbname=mydatabasename', 'root', 'root');   
           $connection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

           echo 'connection succedded'; 

        }catch(PDOException $e){
         echo $e;//Always got exception
        }
    }

}//End of class

$updateStock = new UpdateStock;

私の php.ini ファイルは、mysql の PDO オプションを有効にします。 extension=pdo_mysql.so

MAMP は正常に動作しているので、PDO が接続できないのは何が問題なのですか。

4

1 に答える 1

0

phpinfo をチェックして、MySQL サーバーがリッスンしているポートを確認したところ、値が空の (ポートが指定されていない) ことがわかりました。

ここに画像の説明を入力

したがって、ホスト値からポートを削除して、機能させるだけです。

   $connection = new PDO('mysql:host=localhost;dbname=mydatabasename', 'root', 'root');   

mysqliただし、ポートを使用しました3306。PDOとmysqliは同じポートを使用すると思っていましたが、それは間違っていたようです:)

于 2013-03-15T16:56:14.033 に答える