显然这......
$lastid = $wpdb->insert_id
...会给我最后插入的行(如下所示:How to get last inserted row ID from wordpress database?)。
但是如何定位特定的表格,并在提交表单后从最新插入的行中获取信息?
例如,我有一张名为' license'并且每行包含列'电子邮件'和' name' (其中包括)。
我的想法是,在我用表单插入某行后,我需要在屏幕上显示电子邮件和名称。
任何帮助都会很棒。
答案 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