【发布时间】:2016-11-21 23:39:21
【问题描述】:
如果该数据库不存在,我想根据用户输入创建一个数据库。问题是,我不明白如何检查数据库是否存在。
还有一个问题是我想知道下面的代码是否可行:
if (isset($_POST['companyName'])) {
$companyName = $_POST['companyName'];
}
$query = "
CREATE DATABASE 'companyName';
USE 'companyName';
CREATE TABLE users (
ID int NOT NULL AUTO_INCREMENT,
FirstName varchar(255),
LastName varchar(255),
user text,
Password varchar(255),
Email varchar(255),
PRIMARY KEY (ID)
);
";
$result = mysqli_query($conn, $query);
因为基本上我输入了整个 SQL 代码并只是查询它,这会产生任何问题吗?
我对PHP和MySQL不是很了解,所以感谢您的关注并提前回答我的问题!
【问题讨论】:
-
这里真正的问题是“为什么?”。 在此处插入 Ryan Reynolds 表情包。但是说真的,你系统的方案是什么,为什么要通过用户的输入来创建数据库?
-
就安全性而言,最好先创建一个数据库,然后简单地添加用户数据,即使它是第一条记录。用户能够将数据输入 Web 表单,然后间接运行 SQL 代码,并没有任何好处。
-
如何查看:
mysql_select_db('your_db_name') or die ('DB NOT FOUND'); -
我需要为每家公司拥有唯一的数据库,并且在每家公司中都包含其用户数据。并且在数据库中包含公司的表。这是一个两步注册表单,就像他们创建公司或找到他们的公司,然后在公司内注册为用户一样。我不确定这是否有意义,如果不是,请告诉我,我会尝试更好地解释,但是有更好的方法吗?
-
@RonaldNg 你在试试我的源 xD 吗?