Order by DESC
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:

Hierop krijg ik onderstaande 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 uit mijn code is uit bovenstaande stukje code regel:
De code:
Hierop krijg ik onderstaande 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 uit mijn code is uit bovenstaande stukje code regel:
Quote:
while($row = mysql_fetch_array($cat)) {
Gewijzigd op 25/06/2010 17:29:52 door Tom Wellink
GVD, waarom post je nu niet gewoon hier je code!!
op deze manier is het niet te lezen en gaat de link eenmaal verloren dan is dit een niet terzake doend topic
en dan toch nog maar een keer zeiken over _fetch_array, deze is alleen optimaal indien je de 2de param ook mee geeft. aangezien je dan altijd uitkomt op ASSOC kan je net zo goed fetchen met _fetch_assoc
voor de rest:
pas op alles correcte foutafhandeling toe
op deze manier is het niet te lezen en gaat de link eenmaal verloren dan is dit een niet terzake doend topic
en dan toch nog maar een keer zeiken over _fetch_array, deze is alleen optimaal indien je de 2de param ook mee geeft. aangezien je dan altijd uitkomt op ASSOC kan je net zo goed fetchen met _fetch_assoc
voor de rest:
pas op alles correcte foutafhandeling toe
Gewijzigd op 25/06/2010 17:37:31 door Noppes Homeland
Mijn domein blijft up ;) no worry's. En waarom ik het zo gedaan heb omdat hij er een beetje een rommeltje van maakte als ik hem in code deed, hakte het in delen. Als je op het plaatje klikt zie je de code duidelijk.
Misschien iets vriendelijker reageren is ook netjes ;)
Misschien iets vriendelijker reageren is ook netjes ;)
Gewijzigd op 25/06/2010 17:35:33 door Tom Wellink
Lubert, post de code gewoon hier op de site, dat is veel duidelijker en vriendelijker dan dat je er naar op zoek moet!
http://wiki.phpfreakz.nl/MySQL_Foutafhandeling_In_PHP
http://wiki.phpfreakz.nl/MySQL_Foutafhandeling_In_PHP
Gewijzigd op 25/06/2010 17:37:53 door Noppes Homeland
De code:
Zo doet hij het wel, hier dan de code, hoop dat je kan helpen :)
Zo doet hij het wel, hier dan de code, hoop dat je kan helpen :)
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
if(isset($_GET['code'])){
"$code=$_GET['code']";
$cat = mysql_query('SELECT * FROM foto where code='.$code.'ORDER BY id DESC');
while($row = mysql_fetch_array($cat)) {
?>
</h1>
<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>
<h4><?php echo $row['naam']; ?></h4>
<a class="view-link" href="achtergrond.php?view=<?php echo $row['id']; ?>"><?php echo $row['naam']; ?></a></div>
<?php
}
}
?>
if(isset($_GET['code'])){
"$code=$_GET['code']";
$cat = mysql_query('SELECT * FROM foto where code='.$code.'ORDER BY id DESC');
while($row = mysql_fetch_array($cat)) {
?>
</h1>
<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>
<h4><?php echo $row['naam']; ?></h4>
<a class="view-link" href="achtergrond.php?view=<?php echo $row['id']; ?>"><?php echo $row['naam']; ?></a></div>
<?php
}
}
?>
Gewijzigd op 25/06/2010 17:39:14 door Tom Wellink
:p dat ligt meer aan je code dan aan de code parser die ze hier gebruiken. Waarom switch je zo vaak van html naar php? is toch helemaal niet nodig voor zulke kleine stukjes.
denk ook even aan sql injection want dat is hier mogelijk, variabelen copieren is ook nogal nutteloos. " $code = $_GET['code']; " Je krijgt de error waarschijnlijk omdat je geen spatie hebt tussen de $code.'ORDER BY' want dat staat er nu letterlijk.
PS waarom staan er nu opeens "" om je $code = $_GET['code']; ?
denk ook even aan sql injection want dat is hier mogelijk, variabelen copieren is ook nogal nutteloos. " $code = $_GET['code']; " Je krijgt de error waarschijnlijk omdat je geen spatie hebt tussen de $code.'ORDER BY' want dat staat er nu letterlijk.
PS waarom staan er nu opeens "" om je $code = $_GET['code']; ?
Plaats een spatie tussen code='.$code.' en ORDER BY.
Edit: Te laat
Edit: Te laat
Gewijzigd op 25/06/2010 17:46:06 door Arjan -
je doet er verstandiger aan om ook je queries overzichtelijk in een php varaibele te plaatsen, dat maakt het debuggen op sql fouten ook een stuk makkenlijker
Let op SQLInjectie!!!! En de controle op de $_GET moet aangescherpt worden
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
// en zorg dat je altijd in error_porting / display_erros hebt
ini_set('display_error',1);
error_reporting(E_ALL | E_STRICT);
// $code bestaat niet!! volgens mij bedoel je $_GET['code']
$sql = "SELECT *
FROM foto
WHERE code='".mysql_real_escape_string($_GET['code'])."'
ORDER BY
id DESC";
if (!$result = mysql_query($sql)) {
echo mysql_error().'<br />'.$sql;
}
else {
}
?>
// en zorg dat je altijd in error_porting / display_erros hebt
ini_set('display_error',1);
error_reporting(E_ALL | E_STRICT);
// $code bestaat niet!! volgens mij bedoel je $_GET['code']
$sql = "SELECT *
FROM foto
WHERE code='".mysql_real_escape_string($_GET['code'])."'
ORDER BY
id DESC";
if (!$result = mysql_query($sql)) {
echo mysql_error().'<br />'.$sql;
}
else {
}
?>
Let op SQLInjectie!!!! En de controle op de $_GET moet aangescherpt worden
Gewijzigd op 25/06/2010 17:48:59 door Noppes Homeland
Bedankt voor de hulp, het werkt :)
Ik zal mijn manier van scripten nog eens onder de loep nemen, ben nog niet al te lang bezig en ben nu bezig een script aan te passen wat ik aangekocht had via sitedeals tijd geleden
Nogmaals bedankt :)
Ik zal mijn manier van scripten nog eens onder de loep nemen, ben nog niet al te lang bezig en ben nu bezig een script aan te passen wat ik aangekocht had via sitedeals tijd geleden
Nogmaals bedankt :)
Dat is nu echt weggegooid geld, dat soort scripts zitten voor 90% vol met fouten.




