1

我有 2 个表格文章和用户。

我想在文章表中插入标题、内容和名称。

我将用户 ID 存储在会话中,有没有办法使用插入选择查询向文章表添加标题、内容和名称,同时使用 ID 从用户表中获取名称。

就像是:

INSERT INTO article (title, content, name) VALUES ($post['title'], $post['content'], name) SELECT name FROM users WHERE id = mySessionId
4

1 回答 1

3

使用INSERT INTO..SELECT声明,

$title = $post['title'];
$content = $post['content'];
$insertStatement = "INSERT INTO article (title, content, name)  
                    SELECT '$title', '$content', name 
                    FROM users 
                    WHERE id = mySessionId";

作为旁注,SQL Injection如果变量的值(s)来自外部,则查询很容易受到攻击。请看下面的文章,了解如何预防。通过使用PreparedStatements,您可以摆脱在值周围使用单引号。

于 2013-05-17T14:21:10.407 回答