Php MySQLi查询以获取表中的最大id?

Php MySQLi查询以获取表中的最大id?,php,mysqli,Php,Mysqli,不幸的是,这段代码总是显示NULL,你能告诉我如何得到结果吗 更新: 在控制台模式下,这样的工作人员工作得很好。字段id是int和递增的(作为主索引),其他字段它只是一个具有不同int值的行,我不能更改任何内容 更新: 看来我找到了解决办法: $mysqli = new mysqli("localhost","root","","mydatabase"); if ($result = $mysqli->prepare("SELECT MAX(`id`) AS `id` FROM `m

不幸的是,这段代码总是显示NULL,你能告诉我如何得到结果吗

更新:

在控制台模式下,这样的工作人员工作得很好。字段
id
是int和递增的(作为主索引),其他字段它只是一个具有不同int值的行,我不能更改任何内容

更新:

看来我找到了解决办法:

 $mysqli = new mysqli("localhost","root","","mydatabase");

 if ($result = $mysqli->prepare("SELECT MAX(`id`) AS `id` FROM `mytable` WHERE `row1`=? OR `row2`=?"))
 {

    $id = 2;
    $result->bind_param("ii",$id,$id);
    $result->execute();
    $result->bind_result($max);
    $result->close();

    var_dump($max);

 }

 $mysqli->close();

就是这样。

您仍然需要调用fetch,因为max仅在该点之后可用。见文件:


您仍然需要调用fetch,因为max仅在该点之后可用。见文件:


我是这样想的:

$result->bind_result($max);

/* fetch values */
while ($result->fetch()) {
    printf("Max ID %i\n", $max);
}

$result->close();

我是这样想的:

$result->bind_result($max);

/* fetch values */
while ($result->fetch()) {
    printf("Max ID %i\n", $max);
}

$result->close();

如果您只是从控制台执行它,您会得到结果吗
从mytable中选择MAX(id)作为id,其中row1=2或row2=2
如果您希望列自动增长,为什么不将列创建为标识列?请告诉我!干得好。如果您只是从控制台执行它,您会得到结果吗
从mytable中选择MAX(id)作为id,其中row1=2或row2=2
如果您希望列自动增长,为什么不将列创建为标识列?请告诉我!干得好
$result = mysqli_query($con, "SELECT * FROM `TableName` ORDER BY `PID` DESC LIMIT 1");
$row = mysqli_fetch_array($result);
$pidmax=$row['PID'];