我正在尝试创建一些东西,用户可以为某个主题创建一个表,但只有一个主题表和该主题表中的其他用户可以添加到该主题表。
我只需要创建一次主题表。例如:
用户A创建了一个新的主题,它是一个关于桔子的新表格。
然后其他用户可以添加到桔子表中,但no其他用户可以创建另一个名为桔子的表。
我该如何处理这件事?
让用户只创建一次表的代码是什么?
此外,让用户能够创建表的安全性如何?
下面是我的一些代码,它允许用户添加和显示数据库中的数据。
<?php
include 'connection.php';
$query = "SELECT * FROM people";
$result = mysql_query($query);
While($person = mysql_fetch_array($result)) {
echo "<h3>" . $person['Name'] . "</h3>";
echo "<p>" . $person['Description'] . "</p>";
echo "<a href='"modify.php?id=" . $person['ID']. "'">Modify User</a>";
echo "<span> </span>";
echo "<a href='"delete.php?id=" . $person['ID']. "'">Delete User</a>";
}
?>
<h1>Create a User</h1>
<form action="create.php" method="post">
Name<input type ="text" name="inputName" value="" /><br />
Description<input type ="text" name="inputDesc" value="" />
<br />
<input type="submit" name="submit" />
</form>
你的建议将大有帮助!
下面是让用户只创建一次表的代码:
CREATE TABLE IF NOT EXISTS `orange` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`email` varchar(255) NOT NULL,
`pass` varchar(255) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `email` (`email`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=41 ;
您可以在创建每个表之前检查表是否存在。此外,在创建表时,请确保转义字符串(表名)并使其小写。在像这样转换字符串(表名)之后,您应该始终检查表是否存在。
您可以在谷歌中搜索以了解更多关于检查表是否存在等的信息。