隨着老mysql_
語法,我能夠做這樣的事:一個mysqli的查詢結果中提取第n個元素
$query=mysql_query('select id from rank');
for ($i=0; $i<$max; $i++) {
$id0[$i] = mysql_result($query, $i, "id");
$id1[$i] = mysql_result($query, $i+1, "id");
$id2[$i] = mysql_result($query, $i+2, "id"); }
我發現了很多的達成與mysqli
相同的結果的困難;通常我使用函數mysqli_fetch_assoc($query)
來獲取mysqli查詢的數據,以逐行方式提取查詢結果中的所有記錄。
如何獲得我需要的結果,即在遞歸函數的每個循環中提取查詢結果的第n,第n + 1,第n + 2個元素?我該如何參考id
字段的第n個元素?對於我一次查詢結果的一行似乎是不可能的...
不好意思,如果這個問題看起來很愚蠢,但我正在轉換使用mysql_
語法創建的舊網站爲mysqli_
,我遇到了很多困難,即使我嘗試參考PHP.net文檔(當然堆棧溢出知識...)...
EDIT(問題解決了): 我按照Jeroen的建議解決了我的問題:由於沒有可用的fetch_all
函數,我創建了一個數組,通過循環存儲msqli查詢結果的每一行:
while ($row=mysqli_fetch_assoc($query))
$table[]=$row;
操作這種方式,它更容易指向使用通常的索引表中的每個記錄:
for ($i=0; $i<$max; $i++) {
$id0[$i]=$table[$i]["id"];
$id1[$i]=$table[$i+1]["id"];
$id2[$i]=$table[$i+2]["id"]; }
如果你是無論如何轉換的網站,我會建議使用PDO類。 http://us3.php.net/manual/en/class.pdo.php – JakeParis 2014-10-31 14:08:19
@JakeParis:只是他正在尋找一個mysqli_解決方案。他只是說他以前使用過mysql_,但他希望在mysqli中實現同樣的功能。 – 2014-10-31 14:08:24
@TiborB。,見http://us3.php.net/manual/en/function.mysqli-fetch.php – JakeParis 2014-10-31 14:09:48