$rows = mysql_result(mysql_query("SELECT COUNT(naam) FROM producten ORDER BY naam WHERE categorie = $get "),0);
En dit de foutmelding:
Warning: mysql_result(): supplied argument is not a valid MySQL result resource in /home/banketpa/public_html/new/testpagina.php on line 99
Als ik WHERE categorie = $get weghaal werkt hij wel maar ik moet hem erin hebben staan iemand enig idee
$resultaat = mysql_query("SELECT COUNT(naam) FROM producten ORDER BY naam WHERE categorie = $get ") or die mysql_error();
$rows = mysql_result($resultaat,0);
dit zei hij toen ik jouw aanpassing deed Parse error: syntax error, unexpected T_STRING in /home/banketpa/public_html/new/testpagina.php on line 99
want in me URL heb ik echt wel index.php?p=gebak&page=1
Is dat zo? En wat als ik nu eens index.php?p=broodje&page=aap invul? De bezoeker van jouw site bepaalt wat er in de url staat, niet jij.
SQL-injection is ook zo'n fraai onderwerp, heb je daar wel eens van gehoord?
Ps. Waarom echo je de query niet? Dan zie je in 1x wat er ontbreekt aan de query.
?
Onbekende gebruiker
23-02-2008 21:41
@mark
Mijn welgemeende excusses, ik was idd de ( en ) vergeten:
$resultaat = mysql_query("SELECT COUNT(naam) FROM producten ORDER BY naam WHERE categorie = $get ") or die(mysql_error());
$rows = mysql_result($resultaat,0);
[quote='mark schreef op 23.02.2008 21:22']want in me URL heb ik echt wel index.php?p=gebak&page=1
Is dat zo? En wat als ik nu eens index.php?p=broodje&page=aap invul? De bezoeker van jouw site bepaalt wat er in de url staat, niet jij.
SQL-injection is ook zo'n fraai onderwerp, heb je daar wel eens van gehoord?
Ps. Waarom echo je de query niet? Dan zie je in 1x wat er ontbreekt aan de query.[/quote]
Nee heb nog nooit van SQL-injection gehoord ben beginner mysql maar wil het wel graag leren.
En inderdaad wat jij zegt is waar over de URL maar als ik de hyperlink maak index.php?p=gebak&page=1 dan moet ie het inprecipe doen lijkt me zo of niet?
kan nog steeds richting schroothoop, het doet helemaal niks. Het kan zelfs helemaal niks doen, 1 rij sorteren op naam of welk willekeurig gegeven dan ook, zal altijd dezelfde resultaten geven. Ook van laag naar hoog of hoog naar laag zal weinig verschil uitmaken. 1 rij = 1 rij
@mark
Mijn welgemeende excusses, ik was idd de ( en ) vergeten:
$resultaat = mysql_query("SELECT COUNT(naam) FROM producten ORDER BY naam WHERE categorie = $get ") or die(mysql_error());
$rows = mysql_result($resultaat,0);
Nu krijg ik het volgende op m'n scherm
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE categorie = punten' at line 1
Het gaat voor de WHERE fout, daar staat een ORDER BY. Die volgorde is niet goed, je krijgt altijd eerst de WHERE-clausules en dan pas later de ORDER BY.
In dit geval kan de ORDER BY naam helemaal weg, deze kan toch niks doen in deze query, je krijgt tenslotte maar 1 rij in je resultset retour.
Het valt me nu ook op dat de categorie punten niet tussen quotes staat. Het lijkt me een string, quotes ' zijn dan op hun plaats.
Dit is wat je nodig hebt:
<?
$query = "
SELECT
COUNT(naam)
FROM
producten
WHERE
categorie = '".mysql_real_escape_string($_GET['p'])."';
";
?>
Niet meer klooien met $get, maar $_GET['p'] netjes beveiligen en netjes en overzichtelijk in de query zetten.
Edit: En dus zonder ORDER BY, dat sloeg nergens op.
Het valt me nu ook op dat de categorie punten niet tussen quotes staat. Het lijkt me een string, quotes ' zijn dan op hun plaats.
Dit is wat je nodig hebt:
<?
$query = "
SELECT
COUNT(naam)
FROM
producten
WHERE
categorie = '".mysql_real_escape_string($_GET['p'])."';
";
?>
Niet meer klooien met $get, maar $_GET['p'] netjes beveiligen en netjes en overzichtelijk in de query zetten.
Edit: En dus zonder ORDER BY, dat sloeg nergens op.
Oke bedankt voor de uitleg zoals ik al zei ben een beginner dus leer nu veel hiervan..
Nu nog 1 probleem :D de error is nu weg maar hij echoed mijn 1-2-3 vorige volgende niet..