Php MySQLi查询以获取表中的最大id?
不幸的是,这段代码总是显示NULL,你能告诉我如何得到结果吗 更新: 在控制台模式下,这样的工作人员工作得很好。字段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
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'];