mysql接続サーバー情報を変数に置き換えたいのですが、代わりにエラーが発生します。
$objDb = new PDO('mysql:host=localhost;dbname=mydb', 'root', '');
このようになりたい:
私はこれを試しましたが、成功しませんでした。
$objDb = new PDO('mysql:host=$host;dbname=$db', $user, $pass);
二重引用符を使用します。
$objDb = new PDO("mysql:host=$host;dbname=$db", $user, $pass);
試す:
$objDb = new PDO('mysql:host='.$host.';dbname='.$db, $user, $pass);
または:
$objDb = new PDO("mysql:host=$host;dbname=$db", $user, $pass);
これを使って:
// Usage: $db = connectToDatabase($dbHost, $dbName, $dbUsername, $dbPassword);
// Pre: $dbHost is the database hostname,
// $dbName is the name of the database itself,
// $dbUsername is the username to access the database,
// $dbPassword is the password for the user of the database.
// Post: $db is an PDO connection to the database, based on the input parameters.
function connectToDatabase($dbHost, $dbName, $dbUsername, $dbPassword)
{
try
{
return new PDO("mysql:host=$dbHost;dbname=$dbName;charset=utf8", $dbUsername, $dbPassword);
}
catch(PDOException $PDOexception)
{
exit("<p>An error ocurred: Can't connect to database. </p><p>More preciesly: ". $PDOexception->getMessage(). "</p>");
}
}
だからあなたはこれを行うことができます:
$host = 'localhost';
$user = 'root';
$databaseName = 'databaseName';
$pass = '';
$db = connectToDatabase($host, $databaseName, $user, $pass);