Ze starego mysql_
składni udało mi się zrobić coś takiego:Wyodrębnianie n-ty element w wyniku kwerendy mysqli
$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"); }
jestem znalezieniem wiele trudności w osiągnięciu tego samego rezultatu z mysqli
; zazwyczaj pobieram dane z zapytania mysqli za pomocą funkcji mysqli_fetch_assoc($query)
, aby wyodrębnić rekursywnie wiersz po wierszu wszystkich rekordów w wyniku zapytania.
Jak uzyskać wynik, którego potrzebuję, tj. Wyodrębnienie w każdym cyklu funkcji rekurencyjnej n-tego, n-tego + 1, n-tego + 2 elementu wyniku zapytania? A jak mogę się odwołać do n-tego elementu w polu id
? Wydaje mi się niemożliwe, aby pracować z jednym wierszem wyniku zapytania naraz ...
Przepraszam, jeśli to pytanie wydaje się głupie, ale jestem w trakcie przekształcania starej witryny wykonanej ze składni mysql_
w mysqli_
a ja napotykają wiele trudności, nawet jeśli staram się znaleźć w dokumentacji PHP.net (i oczywiście na przepełnienie stosu wiedzy ...) ...
edycji (problem rozwiązany): i ve rozwiązał mój problem zgodnie z sugestiami Jeroena: nie jest dostępna funkcja fetch_all
, stworzyłem tablicę przechowującą każdy wiersz wyniku zapytania msqli przez pętlę:
while ($row=mysqli_fetch_assoc($query))
$table[]=$row;
pracy w ten sposób jest dużo łatwiej, wskazując na każdego rekordu w tabeli przy użyciu zwykłych indeksów:
for ($i=0; $i<$max; $i++) {
$id0[$i]=$table[$i]["id"];
$id1[$i]=$table[$i+1]["id"];
$id2[$i]=$table[$i+2]["id"]; }
Jeśli konwersja witrynę tak, chciałbym zaproponować za pomocą klasy PDO. http://us3.php.net/manual/en/class.pdo.php – JakeParis
@JakeParis: Po prostu szuka rozwiązania mysqli_. Po prostu powiedział, że wcześniej używał mysql_, ale chce osiągnąć to samo w mysqli. –
@TiborB., Patrz http://us3.php.net/manual/en/function.mysqli-fetch.php – JakeParis