无法在$ db_connect-> select_db($ name)上引发错误; ? PHP

时间:2014-12-30 10:58:44

标签: php

我是学生。

我试图故意在

中引发错误
$db_connect->select_db($db_name); 

检查错误处理,但不会发出错误?

实际的数据库名称是'cart',但我使用'cartxx'尝试引发错误,但没有任何反应,它运行就像没有错误一样。我没有名为'cartxx'的数据库。

<?php

session_start();

$host = 'localhost'; // connects to the host server

$db_name = 'cartxx'; // name of the database we are connecting to
$db_username = 'root'; // username for database
$db_password = ''; // password for database

$db_connect = new mysqli($host, $db_username, $db_password); // connect to mysql



// If error
if (mysqli_connect_errno()) {
    echo('Connection to database failed: ' . mysqli_connect_error());
    exit();
}


// Select database
$db_connect->select_db($db_name);


// If error
if (mysqli_connect_errno()) {
    echo 'Connection to database {$db_name} has failed: '  . mysqli_connect_error();
    exit();
}

感谢。

2 个答案:

答案 0 :(得分:1)

您需要直接在连接字符串中传递默认数据库名称。如果您需要连接到另一个数据库,可以使用select statment

$db_connect = new mysqli($host, $db_username, $db_password, $db_name); 

了解更多信息: - http://php.net/manual/en/function.mysqli-connect.php

答案 1 :(得分:1)

如果你给他一个不正确的数据库名称,

mysqli::selectdb将不会返回false。

此功能更适合“我想从数据库X切换到数据库Y”场景,如果找不到数据库Y,它将保持与数据库X的连接。

您可以查看manual此功能。

在连接时选择数据库的更好方法是使用mysqli constructor