创建表查询

时间:2009-12-27 20:03:12

标签: sql mysql

我想创建一个用于制作评论框的表格。我被告知我应该警惕sql注入(甚至不知道这意味着什么)。

所以我想我应该在SO处问。我的要求是:

评论表

  1. 评论行~400个字符
  2. 援助 - >每条评论都应与援助挂钩。应该允许重复。意味着援助= 21,可以有超过1条评论。我应该能够通过DB搜索所有与aid = 21相关的评论。
  3. 评论的时间戳
  4. 评论的用户ID。
  5. 上表的MySQL查询,不允许SQL注入。我很困惑。任何帮助将受到高度赞赏。非常感谢。

4 个答案:

答案 0 :(得分:3)

创建表通常只在安装系统时发生一次。因此,没有SQL injection的风险(当使用用户提供的数据运行查询时会发生这种风险)。

以上描述可能实现为:

CREATE TABLE `comment` ( 
  `comment_id` INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY,
  `comment_text` VARCHAR(400) NOT NULL,
  `aid_id` INTEGER NOT NULL REFERENCES `aid`(`aid_id`),
  `comment_time` DATETIME NOT NULL,
  `user_id` INTEGER NOT NULL REFERENCES `user`(`user_id`)
);

答案 1 :(得分:1)

在mysql中尝试并使用stored procedures

使用参数将输入传递给存储过程。

答案 2 :(得分:0)

答案 3 :(得分:0)

在Wikipedia和其他地方解释了SQL注入。

使用mysql_real_escape_string()stored procedures是避免SQL注入的标准技术。