1 2 3 4 | FROM images ORDER BY rand( ) LIMIT 4 |
ik snap niet wat je bedoelt. hiermee krijg je 4 random resultaten uit je database?quote:Op donderdag 29 januari 2009 12:54 schreef Chandler het volgende:
Ik ben goed in onschrijfbare taal
Maar tnx SR, ik zal het in het vervol eens wat duidelijker beschrijven.
Nu iets anders
[ code verwijderd ]
geeft een filesort weer, hoe kan ik het beste random items uit een database halen? zonder op een filesort uit te komen?
1 2 | 1 SIMPLE images ALL NULL NULL NULL NULL 109447 Using temporary; Using filesort |
1 |
1 |
1 |
1 |
Met het risico dat het betreffende id niet bestaat. De IN met LIMIT is trouwens zeker sneller, maar heeft ook als risico dat je geen 4 rijen terugkrijgt.quote:Op donderdag 29 januari 2009 13:35 schreef HuHu het volgende:
Je kunt ook 4 queries doen met:
[ code verwijderd ]
Zit je weer met die ORDER BY RAND() die je op grote datasets wilt vermijden.quote:Op donderdag 29 januari 2009 13:35 schreef HuHu het volgende:
Wat ook sneller kan zijn is dit:
[ code verwijderd ]
Als je op id een INDEX hebt is dat sneller.
edit: dat laatste is dus hetzelfde als hierboven, maar dan in MySQL en met de garantie dat je geen ontbrekende nummers selecteert (wat dodelijk is voor je query).
1 2 | $query = "UPDATE pages SET content = '".$data."' WHERE id = '".$_GET['id']."'"; |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | if(get_magic_quotes_gpc()) { foreach($_POST as $key => $val) { $_POST[$key] = stripslashes($val); } foreach($_GET as $key => $val) { $_GET[$key] = stripslashes($val); } foreach($_COOKIE as $key => $val) { $_COOKIE[$key] = stripslashes($val); } foreach($_REQUEST as $key => $val) { $_REQUEST[$key] = stripslashes($val); } } ?> |
Die code gaat fout als er arrays in $_POST, $_GET ofzo zitten.quote:Op zaterdag 31 januari 2009 11:18 schreef GlowMouse het volgende:
Of het uitstaat kun je zo zien in phpinfo. Via .htaccess kun je het evt uitschakelen, en voor compatibiliteit neem je zoiets op in een headerfile.
[ code verwijderd ]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | if(get_magic_quotes_gpc()) { function stripslashes_deep(&$value) { $value = is_array($value) ? array_map('stripslashes_deep', $value) : stripslashes($value); return $value; } stripslashes_deep($_GET); stripslashes_deep($_POST); stripslashes_deep($_COOKIE); stripslashes_deep($_REQUEST); } ?> |
Volgens mij was het ontbreken van de intval() eigenlijk het grootste probleem. De rest komt netjes door mysql_real_escape_string() en is dus ook veilig. Overigens hoef je getallen ($id) niet tussen quotes te zetten.quote:Op zaterdag 31 januari 2009 11:32 schreef veldmuis het volgende:
Dat script deed 't 'm wel.
Ik had het via htaccess uitgeschakeld, maar dat leverde geen resultaat op. Vreemd dus, maar nou werkt het. Thanks!
Het nut van intval snap ik. Dat heb ik ook gelijk toegepast..
Maar wat is er niet zo best aan m'n query? Ik ben nog niet zo'n PHP held.
dankequote:Op zondag 1 februari 2009 12:48 schreef GlowMouse het volgende:
http://nl.php.net/manual/en/function.wordwrap.php
Wat moet de rol van PHP zijnquote:Op zondag 1 februari 2009 12:57 schreef RoW_0 het volgende:
Hay, ik wil een visitekaartjewebsite in php maken. Is het mogelijk doormiddel van een grafische applicatie gewoon er een kan ontwerpen? met html kan dat al wel natuurlijk.
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |