如果不存在,则使用 mysqli + php 创建数据库
Posted
技术标签:
【中文标题】如果不存在,则使用 mysqli + php 创建数据库【英文标题】:Create DB if not exists using mysqli + php 【发布时间】:2015-06-01 04:19:12 【问题描述】:如果数据库名称不存在,我正在尝试使用 mysqli 创建数据库,使用以下代码:
<?php
$link = mysqli_connect("localhost", "root", "", "php1") ;
if(mysqli_connect_errno())
echo mysqli_connect_error();
$query = "CREATE DATABASE php1";
if(mysqli_query($link, $query))
echo "Success";
else
echo "Failure";
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<a href="signup.php"><button type="button">Sign Up!</button></a>
<a href="login.php"><button type="button">Log In</button></a>
</body>
</html>
代码检查数据库并且它不存在。接下来,如果数据库不存在,我想创建它,但我总是收到以下错误:
Warning: mysqli_connect(): (HY000/1049): Unknown database 'php1' in E:\xampp\htdocs\PhpProject1\index.php on line 3
Unknown database 'php1'
Warning: mysqli_query() expects parameter 1 to be mysqli, boolean given in E:\xampp\htdocs\PhpProject1\index.php on line 7
Failure
这样我无法创建新的数据库。有人知道如何纠正这个问题吗?
【问题讨论】:
【参考方案1】:解决此问题的三个步骤:
-
连接时不要指定数据库名称。
您的 SQL 语句应为
CREATE DATABASE IF NOT EXISTS php1
。
致电mysqli_select_db($link, 'php1')
将其设为您连接的默认数据库。
【讨论】:
哎呀,谢谢!我被困在这里很久了:)第一点是我认为最重要的一点。 $mysqli = new mysqli($DB_SERVER, $DB_USERNAME, $DB_PASSWORD, "", $DB_PORT); ... $mysqli->query('use ' . $DB_NAME . ';');工作!谢谢!以上是关于如果不存在,则使用 mysqli + php 创建数据库的主要内容,如果未能解决你的问题,请参考以下文章
php 如果它不存在,请创建`$ dir`目录。如果它包含超过`$ max`文件,则创建`$ dir.part $ level`。返回上次创建的目录n