提问人:Bheki Fuzwayo 提问时间:11/25/2022 最后编辑:Bheki Fuzwayo 更新时间:10/4/2023 访问量:3263
致命错误:未捕获mysqli_sql_exception:未知数据库“test_db”。即使我以编程方式创建了数据库,我也不断收到此错误
Fatal error: Uncaught mysqli_sql_exception: Unknown database 'test_db'. I keep getting this error even though I programatically created the database
问:
代码如下
<?php
$servername = "localhost";
$usrname = "root";
$pwd = "";
$db = "test_db";
// connect to the database
$conn= mysqli_connect($servername, $usrname, $pwd,$db);
if (!$conn){
die('connection failed' . mysqli_connect_error());
}
// Create database
$sql = "CREATE DATABASE IF NOT EXISTS test_db";
if (mysqli_query($conn, $sql)) {
echo "Database created successfully<br>";
} else {
echo "Error creating database: " . mysqli_error($conn);
}
?>
我不确定发生了什么,因为我确定我在打字时没有犯错误。因为它一直向我显示有一个未知的数据库,尽管我做了一个 CREATE DATABASE 语句。 我不知道我是否还需要做其他事情,但从所有方面来看,代码应该可以工作。 它应该回显“数据库创建成功”或错误消息。
答:
-2赞
Underdeveloper
11/25/2022
#1
$conn= mysqli_connect($servername, $usrname, $pwd,$db);
您正在尝试连接到最初不存在的数据库,因此您会收到致命错误。
尝试使用 try catch 块创建新数据库
try{
$conn= mysqli_connect($servername, $usrname, $pwd,$db);
}cath(Exception $e){
//your code
}
评论
0赞
Hitesh Narola
11/25/2022
#2
<?php
$servername = "localhost";
$usrname = "root";
$pwd = "";
$db = "test_db";
// connect to the database
$conn= mysqli_connect($servername, $usrname, $pwd);
// Create database
$sql = "CREATE DATABASE $db";
mysqli_query($conn, $sql);
你的代码很好,你只需要从 mysqli_connect() 中删除$db。 因为您正在尝试使用尚不存在的数据库“test_db”。
评论
mysqli_connect($servername,$usrname,$pwd)
mysqli_select_db($db)
CREATE DATABASE