选择数据库的最高ID并在PHP中使用结果

时间:2015-12-18 15:41:45

标签: php mysql

我尝试为每个新注册创建一个新文件夹,但我确实遇到了在其唯一注册ID后命名它们的麻烦。

在我的数据库中,每个新用户都会获得一个用户ID。 要选择最新的用户标识,我使用SQL语句

$sql = "SELECT max(userid) FROM User";

到目前为止,PHPMYADMIN向我展示了正确的结果,但我不知道如何将这个单个结果保存在PHP中的变量中。 阅读PHP手册并尝试了不同的获取选项,但要么我没有得到它,要么结果与我想要的不同。

现在我只能打印所有结果,但不能打印出我想要的结果:

foreach ($db->query($sql) as $row) {
  echo $row['userid'] . "<br />";
}

目标是让这件事发挥作用:

mkdir("uploads/$userid", 0755, true);

任何帮助将不胜感激。我对此感到非常沮丧!

修改 好的去了简单的路线,并在电子邮件的哈希后命名目录。 我还是会感兴趣的: 如果我使用$sql = "SELECT max(userid) FROM User"; 如何将结果绑定到PHP中的变量?

2 个答案:

答案 0 :(得分:3)

如果将记录插入到包含AUTO_INCREMENT列的表中,则可以通过调用 mysql_insert_id()函数来获取存储在该列中的值。

当生成新的AUTO_INCREMENT值时,您还可以通过使用mysql_query()执行 SELECT LAST_INSERT_ID()语句并从语句返回的结果集中检索值来获取它。 / p>

您也可以参考这篇文章:

How do I get the last inserted ID of a MySQL table in PHP?

答案 1 :(得分:1)

所以不是回应结果,为什么不用它来制作那个目录呢?

foreach ($db->query($sql) as $row) {
 mkdir("uploads/$row['userid']");
}