-1

mysql接続サーバー情報を変数に置き換えたいのですが、代わりにエラーが発生します。

$objDb = new PDO('mysql:host=localhost;dbname=mydb', 'root', '');

このようになりたい:

私はこれを試しましたが、成功しませんでした。

$objDb = new PDO('mysql:host=$host;dbname=$db', $user, $pass);
4

3 に答える 3

1

二重引用符を使用します。

$objDb = new PDO("mysql:host=$host;dbname=$db", $user, $pass);
于 2013-03-17T19:24:23.827 に答える
0

試す:

$objDb = new PDO('mysql:host='.$host.';dbname='.$db, $user, $pass);

または:

$objDb = new PDO("mysql:host=$host;dbname=$db", $user, $pass);
于 2013-03-17T19:23:45.313 に答える
0

これを使って:

// 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);
于 2013-03-17T19:23:53.920 に答える