login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Order BY DESC

Offline kadaj - 25/06/2010 17:20 (laatste wijziging 25/06/2010 17:22)
Avatar van kadajNieuw lid Ik wil graag de output van mijn database zo uitlezen dat de laatst toegevoegde bovenaan komt te staan, dus gebruik ORDER BY id DESC maar krijg nu een error welke ik niet snap, wie ow wie weet raad?

De code:
  1. <?php
  2. if(isset($_GET['code'])){
  3. $code=$_GET['code'];
  4. $cat = mysql_query('SELECT * FROM foto where code='.$code.'ORDER BY id DESC');
  5.  
  6. while($row = mysql_fetch_array($cat)) {
  7. ?>
  8. </h1>
  9. <div class="wallpaper-preview"><a href="achtergrond.php?view=<?php echo $row['id']; ?>"><img class="wallpaper" src="./thumb/<?php echo $row['thumb']; ?>" alt="<?php echo $row['naam']; ?>" /> </a>
  10. <h4><?php echo $row['naam']; ?></h4>
  11. <a class="view-link" href="achtergrond.php?view=<?php echo $row['id']; ?>"><?php echo $row['naam']; ?></a></div>



De error:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/admin/domains/domein.nl/public_html/wallpaper.php on line 143

Regel 143: (komt ook uit bovenstaande php stukje)
  1. while($row = mysql_fetch_array($cat)) {


6 antwoorden

Gesponsorde links
Offline xSc - 25/06/2010 17:29
Avatar van xSc Onbekend zo te zien moet $_GET['code'] tussen quotes.

Houd trouwens even rekening met het volgende:

- SQL commando's in hoofdletters. Dus: SELECT, FROM, WHERE, ORDER BY, DESC, etc.
- Gebruik dubbele quotes om queries.
- Maak gebruik van if-else of try catch om queryies uit te voeren.
- Voordat je gaat fetchen eerst controleren of er wel meer dan 0 records zijn met mysql_num_rows().

Voorbeeld:

"SELECT * FROM foto WHERE code = '" . mysql_real_escape_string($_GET['code']) . "'"
Bedankt door: kadaj
Offline kadaj - 25/06/2010 17:33
Avatar van kadaj Nieuw lid Bedankt voor je snelle reactie, snap alleen niet echt wat je bedoelt, wat moet ik veranderen aan de code die ik momenteel heb?
Offline xSc - 25/06/2010 19:34
Avatar van xSc Onbekend Verander in je query

code='.$code.'ORDER

in code="'.$code.'" ORDER

Als $code een string is, moeten er quotes omheen. De enkele quotes zijn van je query 
Offline Martijn - 25/06/2010 19:50
Avatar van Martijn Crew PHP goede gewoonte van maken om tijdens t maken mysql_query("bl;abla") or die(mysql_error()); te zetten. Dan geeft ie aan waar n fout zit
Offline xSc - 25/06/2010 19:54
Avatar van xSc Onbekend Martijn, in mijn eerste reactie gaf ik if-else/try-catch aan. Dat heeft mijn voorkeur, omdat anders de layout afbreekt:)
Offline Martijn - 25/06/2010 20:29
Avatar van Martijn Crew PHP mja, die is netter ja, maar lastiger als je dit als probleem heb, gok ik dat een try/catch is te hoog gegrepen is. Eerst maar eens leren wat welke fout betekent 
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.311s