PHP PDO没有选择数据库

rya*_*ts1 0 php pdo connection-string

我试图用PHP PDO连接到数据库,我不断得到这个:"错误:没有选择数据库".我在PDO之前的代码工作得很好.谁能看到我做错了什么?我是PDO的新手.

旧代码:

$dbHost = 'localhost:3306';
$dbUser = 'username';
$dbPass = 'password';
$dbName = 'database_name';
$dbconn = mysql_connect($dbhost, $dbuser, $dbpass) or die ('Error connecting to the database!');
mysql_select_db($dbname);
Run Code Online (Sandbox Code Playgroud)

PDO代码:

$dbHost = 'localhost';
$dbUser = 'username';
$dbPass = 'password';
$dbName = 'database_name';
$dbconn = new PDO('mysql:host=$dbHost;port=3306;dbname=$dbName', $dbUser, $dbPass);
Run Code Online (Sandbox Code Playgroud)

Nea*_*eal 5

使用双引号

单引号不允许使用变量.

例如:

$dbconn = new PDO("mysql:host=$dbHost;port=3306;dbname=$dbName", $dbUser, $dbPass);
Run Code Online (Sandbox Code Playgroud)

或者更好地确保所有内容都正确转义:

$dbconn = new PDO("mysql:host={$dbHost};port=3306;dbname={$dbName}", $dbUser, $dbPass);
Run Code Online (Sandbox Code Playgroud)