2016-08-11 4 views
0

のconfig.ini接続PDOに構文エラーがあるのはなぜですか?

[database] 
host = 127.0.0.1 
dbname = login 
user = root 
password = 

PHP

$con = parse_ini_file('config.ini.php'); 
date_default_timezone_set('Asia/Kolkata'); 

try { 
$db = new PDO("mysql:host=$con['host'];dbname=$con['dbname']",$con['user'],$con['password']) ; 
$db->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION); 
} catch(PDOExpection $e) { 
die($e->getMessage()); 
} 

私は、この私に構文エラーを与える

このような構文エラー接続しようとすると、予期しません '' (T_ENCAPSED_AND_WHITESPACE)、が必要です識別子(T_STRING)または変数(T_VARIABLE)または数 (T_NUM_STRING)

答えて

2

あなたはPDO DSNパラメータに配列式が含まれるように補間を使用しています。そのため、あなたの文字列

$db = new PDO("mysql:host={$con['host']};dbname={$con['dbname']}", $con['user'], $con['password']) ; 

それとも単に連結したものを使用して内部で{}中括弧を使用してきました。

$db = new PDO("mysql:host=" . $con['host'] . ";dbname=" . $con['dbname'], $con['user'], $con['password']) ; 
関連する問題