2011-09-05 12 views
2
<?php 
#require_once('inc/dbc1.php'); 
$dsn = 'mysql:dbname=dbname;host=somehost; 
$user = 'someuser'; 
$password = 'SomePass'; 

try { 
    $dbh = new PDO($dsn, $user, $password); 
} catch (PDOException $e) { 
    echo 'Connection failed: ' . $e->getMessage(); 
} 

$pdo1 = new PDO($dsn, $user, $password); 
$pdo1->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
$sth1 = $pdo1->prepare('SELECT pID, lname, fname FROM Professor ORDER BY pID DESC LIMIT 5;'); 
$sth1->execute(array()); 
?> 

はエラーをスローします:無効なデータソースのPHPのPDOのMySQL

Uncaught exception 'PDOException' with message 'invalid data source name' in PDO->__construct('', NULL, NULL) on line 1 

誰もがこれで何か問題を参照してください?

+0

私の意見では、この問題は設定文字列によって発生する必要があります。設定をもう一度確認してください。恐らくあなたのdsn文字列によって引き起こされますが、デフォルトでポート3306を追加するのはどうですか? – Ceven

答えて

8

これは質問をペーストカット・アンド・mousoしない限り、あなたは

$dsn = 'mysql:dbname=dbname;host=somehost; 

多分ちょうど多分...

$dsn = 'mysql:dbname=dbname;host=somehost'; 

を持っています。

+2

良い発見!しかし、実際これはJohnPaulが使用しているIDEによって検出されるべきです。 – bestprogrammerintheworld