iets ophalen uit database

  • Beste,


    Mij lukt iets niet!


    Deze code gebruik ik:


    Code
    $profiel = mysql_fetch_array(mysql_query("SELECT *, COUNT(DISTINCT `user_id`) AS `aantal` FROM `gebruikers` WHERE `username`='".$_GET['player']."' GROUP BY `user_id`"));


    Maar als in de database een 1 staat bij sonyxperia dan geef hij de banner alsnog weer? Wie weet waar de fout zit?

  • Guest, wil je besparen op je domeinnamen? (ad)
  • Dit bedoel ik. Je code werkt misschien, maar is verre van goed. Als je je code laat staan kunnen wij je de fouten laten zien.


    - Je gebruikt mysql_*. Die is inmiddels deprecated in de nieuwste versie van PHP en je kan dus beter kiezen voor een alternatieve oplossing. (MySQLi of PDO)
    - Je hebt onbeveiligde userinput in je queries. Gebruik minimaal mysql(i)_real_escape_string. Daarnaast kan je de input beveiligen door htmlentities/htmlspecialchars en stripslashes te gebruiken.
    - Je gebruikt backticks (`). Ik heb daar al vaker iets over gezegd dus hier is de quote:


    Citaat


    Backticks( `) zijn af te raden ;) Backticks zijn bedoelt om woorden te kunnen gebruiken die eigenlijk gereserveerd zijn. (Dat zijn dus woorden als "order" en "count") Als jij allemaal van dat soort in je database gaat gebruiken raak je snel het overzicht kwijt en zeker als je een grote database hebt. Daarnaast worden backticks niet altijd ondersteunt en is het dus mogelijk dat je een keer al je backticks moet verwijderen en wellicht je hele database aan moet passen. Dus beter in één keer goed doen en geen gereserveerde woorden of backicks gebruiken! :)


    - Ik mis foutafhandeling. Hier heb ik een blog over geschreven waar je naar zou kunnen kijken. (MySQL query foutafhandeling)
    - Gebruik stylesheets. Zo voorkom je sloridge code en scheelt het vaak veel typwerk als je iets wil veranderen.
    - Hou je php en html gescheiden.

Participate now!

Heb je nog geen account? Registreer je nu en word deel van onze community!