我正在尝试创建一些用户可以为主题创建表的内容,但只有一个主题表,并且在该主题表中,其他用户将能够添加到该主题表。
我需要创建一次主题表。所以对于前:
用户A创建一个新主题,这是一个关于橙子的新表。
然后其他用户就可以添加到该橙子表,但没有其他用户可以创建另一个名为oranges的表。
我应该如何解决这个问题?
让用户创建表格但只创建一次的代码是什么?
为用户提供创建表的能力还有多安全?
以下是我的一些代码,允许用户添加和显示数据库中的数据。
<?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>
你的建议会很有帮助!
答案 0 :(得分:0)
以下是让用户只创建一次表的代码:
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 ;
答案 1 :(得分:0)
您可以在创建每个表之前检查表是否存在。此外,当您创建表时,请确保转义字符串(表名)并将其设为小写。在转换字符串(表名)之后,您应该始终检查表是否存在。
您可以在Google中搜索以了解有关检查表存在等的更多信息。