【发布时间】:2014-05-09 08:12:28
【问题描述】:
所以我有点坚持以下。我有两个表,项目和更改。
项目:
- id
- title
- description
- datecreated
变化:
- id
- title
- description
- projectid FOREIGN KEY
- datecreated
我不知道该怎么做
insert into change (name, description, projectid) value (:name, :description, :projectid)
select id from project
where name = $name
重要 - 插入中的名称和描述由 php 变量使用表单提供。
重要 - 必须使用 PDO
实际代码:
$sql = "INSERT INTO change (title, description, project_id) SELECT :title, :description, id FROM project WHERE title = :project_title";
$query = $db->prepare($sql);
$query->execute(array(":title" => $title, ":description" => $description, ":project_title" => $created));
这就是我最后所做的,但 Barmar 在这个问题和另一个问题上得到了帮助。
$sql = "INSERT INTO `change` (`title`, `description`, `project_id`) SELECT :title, :description, id FROM project WHERE title = :project_title";
$query = $db->prepare($sql);
$query->execute(array(":title" => $title, ":description" => $description, ":project_title" => $created));
【问题讨论】:
-
请不要仅在“我希望您使用某种技术为我编写代码”的含义中使用某些标签。谢谢。
-
:name占位符中的名称和$name变量中的名称有区别吗?为什么要在 PDO 中使用变量替换——你显然知道如何使用占位符,你应该一直使用它们。