查询另一个查询中的值

时间:2011-04-18 05:03:40

标签: php mysql

好的,我有这两个问题

 $q = "INSERT INTO pages (title, subtitle, link_title, content, posted) VALUES ('$t', '$st', '$lt', '$c', UTC_TIMESTAMP())";
$pq = "SELECT page_id FROM pages WHERE posted = {$q['posted']}";

我需要从UTC时间戳等于第一个查询中的发布值的页面获取page_id。这怎么可能?基本上我需要将数组查询值从第一个调用到第二个。

由于

2 个答案:

答案 0 :(得分:2)

这就是我要做的事情:

  1. 确保在使用PHP之前必须先插入数据。否则,使用数据并在之后插入可能是有意义的。
  2. 假设您通过了#1中的测试,请运行mysql_query($q);
  3. 检查错误的响应并在有任何
  4. 时处理它们
  5. 如果查询成功,请使用mysql_insert_id();
  6. 获取插入行的ID
  7. 使用插入的ID的值运行mysql_query($pq)以检索刚刚插入的行。

答案 1 :(得分:1)

您可以从PHP生成并在两个函数中使用它,而不是让MySQL生成时间戳吗?

或者,不是运行第二个查询,为什么不使用mysql_insert_id来获取您运行的最后一个查询的ID - 这更加万无一失,不需要第二次查询。