在PHP中从MySQL获取最后一个group_id

时间:2017-05-02 15:06:02

标签: php mysql

我想最后从MySQL添加group_id以获取其他组的新$group_id++

我试过

$group_id = ("select max(group_id) from posts");
  $group_id++;

但是当我用echo检查它时

echo $group_id;

结果是:“从帖子中选择max(group_id)”

3 个答案:

答案 0 :(得分:0)

您正在为变量分配查询字符串。您甚至没有运行查询...?

您需要运行查询并将其分配给结果($ group_id _)

还有其他方法可以做到这一点,但这与你正在做的相似。

$result= mysqli_query($conn, "select max(group_id) as max from posts");
$row = $result->fetch_assoc($result);
$group_id = $row['max'];
$group_id++;

答案 1 :(得分:0)

这是因为您没有执行SQL查询,而是在进行分配。

正确的语法是这样的:

$result = mysqli_query('SELECT * WHERE 1=1');
if (!$result) {
    die('Invalid query: ' . mysql_error());
}

搜索如何执行SQL查询,如果遇到问题,请再次发帖。

修改:查看下面的链接

https://secure.php.net/manual/en/mysqli.query.php

答案 2 :(得分:-2)

这是实现它的最简单方法,最新的ID将具有最高ID,因此您可以通过ID从最高ID到最低ID进行排序,而您只需要使用第一个ID。

了解http://php.net/manual/en/book.mysqli.php它解释了使用php从数据库中查询数据的所有内容。

$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

if ($mysqli->connect_errno) {
printf("Connect failed: %s\n", $mysqli->connect_error);
exit();
}
if($result = $mysqli->query("select group_id from posts ORDER BY group_id DESC LIMIT 1")){
// it has returned a result
$group_id = $result->fetch_object();
$group_id++;
}