Je begrijpt fundamenteel niet hoe deze dingen werken.
De "array" in mysql_fetch_array
is geen array van alle records, maar een array van de gegevens binnen het huidige record.
In jouw geval haal je maar een enkel veld op, dus de array zal maar een enkel element bevatten (bijv. $row[0]
), maar het principe is hetzelfde -- het is een array van de enkele record die je zojuist hebt gelezen.
Alleen de gegevens voor het huidige record bevinden zich op elk moment in de array. Dat is wat de while
lus is voor; het gaat terug van elke lading, de een na de ander.
Als u een array wilt maken die alle gegevens bevat, moet u dit als volgt doen:
$fullData = array()
while($row = mysql_fetch_array($tableIndex) ){
$fullData[] = $row[0];
}
Dat zal alle gegevens die u leest in één grote array plaatsen, en dat is wat u verwacht. Nu kunt u doen wat u in de vraag wilde doen:
echo $fullData[0].'<br>';
echo $fullData[1].'<br>';
echo $fullData[2].'<br>';
Ik hoop dat dat helpt.
Het is de moeite waard om erop te wijzen dat de mysql_xxx()
familie van functies worden afgekeurd en als achterhaald beschouwd. Als je net PHP leert (wat het geval lijkt te zijn), raad ik je ten zeerste aan om te stoppen met het leren van deze functies en de PDO
te leren. bibliotheek in plaats daarvan. Het is moderner en heeft veel functies die de mysql
functies niet kunnen bieden. Bovendien zullen toekomstige versies van PHP de mysql
. verwijderen volledig functioneert, dus je zult op een gegeven moment moeten overschakelen - het kan net zo goed nu zijn, terwijl je nog aan het leren bent.
Ook (om de zaken relevant te houden voor de vraag), heeft de PDO-bibliotheek een functie die in feite doet wat u zoekt in een enkele functie:PDO::fetchAll()
. Het gebruik van deze methode betekent dat u kunt haal alle gegevens op in een enkele grote array in één regel zonder dat u een while-lus hoeft uit te voeren. De code zou er ongeveer zo uitzien:
$sth = $dbh->prepare("SELECT name, colour FROM fruit");
$sth->execute();
$result = $sth->fetchAll();
(voorbeeld uit de PHP-handleiding voor PDO::fetchAll
)