1
$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();
不幸的是,這段代碼總是顯示NULL,你能告訴我如何達到結果嗎?MySQLi查詢在表中獲取最大ID?
更新:在控制檯
模式的工作人員這樣的偉大工程。字段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();
這是它。
如果單純從控制檯執行它,你得到的結果? 'SELECT MAX(id)AS id FROM mytable WHERE row1 = 2 OR row2 = 2' –
如果您希望列自動增長,爲什麼不將該列創建爲標識列? –
打我吧!做得好。 –