我是学生。
我试图故意在
中引发错误$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();
}
感谢。
答案 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。