sql >> Database >  >> RDS >> Mysql

while($row =mysql_fetch_assoc($result)) - Hoe maak je $row aan?

Laten we zeggen dat elk van de rijen in uw database er als volgt uitziet...

[product_id][product_name][product_description][product_price]

Wanneer u uw query retourneert aan een variabele die is doorgegeven via mysql_fetch_assoc() met behulp van een while-lus zal elke pas een hele rij isoleren. Waarvan u handmatig uit elkaar kunt halen door middel van een array-sleutelverwijzing ($array['product_id'] ) of door een foreach-lus te gebruiken. Ik denk dat het probleem dat je hebt is dat je dit door elkaar haalt. Als u de bovenstaande voorbeeldtabelindeling in gedachten houdt, kunt u zoiets als het volgende doen:

while ($tableRow = mysql_fetch_assoc($query)) { // Loops 3 times if there are 3 returned rows... etc

    foreach ($tableRow as $key => $value) { // Loops 4 times because there are 4 columns
        echo $value;
        echo $tableRow[$key]; // Same output as previous line
    }
    echo $tableRow['product_id']; // Echos 3 times each row's product_id value
}

Kijk naar deze regel in je code:if ($product['id'] == $id) { }

Ik denk dat je waarschijnlijk if ($row['id'] == $id) { } . bedoelt in plaats daarvan.



  1. Hoe importeer je eenvoudig meerdere sql-bestanden in een MySQL-database?

  2. ORA-28001:Het wachtwoord is verlopen

  3. Hoe dan ook om de uitvoeringstijd van MySQL-query's te beperken?

  4. Fix:“operator bestaat niet:geheel getal || geheel getal” in PostgreSQL