从最近插入的数据库条目的特定行获取信息

时间:2015-11-22 22:44:21

标签: php mysql database wordpress

显然这......

$lastid = $wpdb->insert_id

...会给我最后插入的行(如下所示:How to get last inserted row ID from wordpress database?)。

但是如何定位特定的表格,并在提交表单后从最新插入的行中获取信息?

例如,我有一张名为' license'并且每行包含列'电子邮件'和' name' (其中包括)。

我的想法是,在我用表单插入某行后,我需要在屏幕上显示电子邮件和名称。

任何帮助都会很棒。

3 个答案:

答案 0 :(得分:0)

您可以使用自动增量列的值。 您可能已经有ID列。

在新的SELECT - 语句中使用ORDER BY myCol DESC自动增量颜色并使用LIMIT 1仅获取具有最高值的值(最近的值)< / p>

答案 1 :(得分:0)

根据您已经拥有的内容,您必须使用最后插入的ID进行新查询。

$query = "select * from license where id = ".$lastid;

使用此查询的结果,您可以打印出最后一个插入行的其他信息。

如果您需要有关php代码的更多信息,请提供您的代码,以便我们相应地进行编辑

答案 2 :(得分:0)

上次插入的记录的ID一般(在您的Wordpress示例中),只能从列中获取(如名称所示)ID(AUTO_INCREMENT) 由于最近执行的INSERT语句 。的 mysql doc

如果在反向时间点指定“获取XYZ表格的最后一个ID”,则没有直接的方法,只能如上所述。

即使在php中正确使用,在尝试获取LAST_INSERT_ID之前,如果在其他表(您不想要的表)上执行其他INSERT语句,则需要小心,因此您最终不会从不需要的地方获取ID表。

您可能的解决方法:

  • 从ID desc订购的所需表中进行SELECT,例如:

    SELECT id FROM xyz ORDER BY id DESC LIMIT 1;
    

    这假设id是AUTO_INCREMENT或类似的

  • 另一个选项是,如果可能,在代码中找到所需表格的INSERT语句的“位置”,例如xyz并使用以下命令获取id:

    $wpdb->insert_id