所以我想從我的表中選擇最高(或最新)的ID並將其用於循環「for」。表中最大ID爲整數
我不喜歡這樣的:
$sql1="SELECT MAX(id_i) FROM images;";
$max_id= mysqli_query($link, $sql1);
for($i=0;$i<=$max_id;$i++)
{
...
}
但我得到一個錯誤:類mysqli_result的對象無法轉換成int:/
所以我想從我的表中選擇最高(或最新)的ID並將其用於循環「for」。表中最大ID爲整數
我不喜歡這樣的:
$sql1="SELECT MAX(id_i) FROM images;";
$max_id= mysqli_query($link, $sql1);
for($i=0;$i<=$max_id;$i++)
{
...
}
但我得到一個錯誤:類mysqli_result的對象無法轉換成int:/
這樣使用它:
$sql1="SELECT MAX(id_i) as max_id FROM images;";
$result= mysqli_query($link, $sql1);
//for loop
$row = mysqli_fetch_object($result);
for($i=0;$i<=$row->max_id;$i++)
{
...
}
//or using while (recommended)
while($row = mysqli_fetch_object($result))
{
...
}
像Andrew P.在他的評論中寫道,mysqli_query返回的對象不是int。來自文檔:
返回
FALSE
失敗。對於成功的SELECT
,SHOW
,DESCRIBE
或EXPLAIN
查詢mysqli_query()
會返回一個mysqli_result
對象。對於其他成功的查詢mysqli_query()
將返回TRUE
。
因此,你需要來檢索對象想要的屬性。在你的情況下,像這樣:$row->max_id
這正是你想要使用一個對象作爲int發生了什麼。你實際上需要檢索結果。請參閱[這裏](http://php.net/manual/en/mysqli.query.php)瞭解mysqli_query的返回類型。 – 2014-10-11 16:47:24
有沒有理由不能只使用'foreach'?聽起來像是[XY問題](http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem)的例子。 – PeeHaa 2014-10-11 16:48:48
@PeeHaa:也許他會在別的地方使用價值?我猜...我不知道我只是賽亞人。 – 2014-10-11 16:53:05