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

Aqu*_*ita 1 php mysqli

 $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();
Run Code Online (Sandbox Code Playgroud)

不幸的是,这段代码总是显示NULL,你能解释一下如何得出结果吗?

更新:

在控制台模式下,这样的工作人员效果很好。字段id是 int 和增量(如 PRIMARY INDEX),其他字段只是具有不同 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();
    $obj = $result->get_result()->fetch_object();
    $max = $obj->id;
    $result->close();

    var_dump($max);

 }

 $mysqli->close();
Run Code Online (Sandbox Code Playgroud)

就是这个。

小智 5

我是这样想出来的:

$result = mysqli_query($con, "SELECT * FROM `TableName` ORDER BY `PID` DESC LIMIT 1");
$row = mysqli_fetch_array($result);
$pidmax=$row['PID'];
Run Code Online (Sandbox Code Playgroud)