[PHP/MySQL] Juist gebruik van PDO

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Goedendag !

Ik probeer sinds kort de communicatie tussen PHP & MySQL te laten verlopen met behulp van PDO.
Echt een prachtige methode vind ik, maar nu heb ik de volgende vraag.

Je kan een query op 3 verschillende manieren laten uitvoeren, namelijk:

Met de functie Query:
Dan kan je verschillende resultaten opvragen, zoals lastInsertID & rowCount.

Met de functie Exec:
Dan wordt de query uitgevoerd en dan krijg je het aantal beïnvloedde rijen terug.
Dit heeft dus enkel zin als je geen data terug wil krijgen uit de database.

Met behulp van een prepared statement:
Met deze functie bereid je een query voor, waardoor die vaker te gebruiken is. En alle waardes worden door PDO gequote, waardoor SQL injections moeilijk tot niet mogelijk zijn.

Welke is het best om te gebruiken ?
Ik snap zelf wel dat de Exec functie meestal niet handig is, zoals ik al bij deze functie aangeef.
Maar als ik gegevens uit de database wil halen van bijvoorbeeld 1 gebruiker, is het dan slim Query te gebruiken of toch een Prepared Statement.

Graag zou ik jullie mening lezen :? .

Met vriendelijke groet,

Marc Hollander

Acties:
  • 0 Henk 'm!

  • pedorus
  • Registratie: Januari 2008
  • Niet online
Gebruik zoveel mogelijk prepared statements. Voordelen:
  • Geen SQL injection mogelijk (mits implementatie geen gekke dingen doet)
  • In theorie minder belastend voor DB-server, dus betere performance
Artikel

Vitamine D tekorten in Nederland | Dodelijk coronaforum gesloten


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Bedankt voor je reactie! Dit idee had ik er zelf ook over.
Het is wel iets meer code, maar dat is te verwaarlozen neem ik aan ?

Acties:
  • 0 Henk 'm!

  • pedorus
  • Registratie: Januari 2008
  • Niet online
Verwijderd schreef op donderdag 23 oktober 2008 @ 23:59:
Het is wel iets meer code, maar dat is te verwaarlozen neem ik aan ?
Dat zal wel meevallen, ook omdat je anders vaak quote moet gebruiken (wat sterk wordt ontraden). Het hangt er ook vanaf op welke manier je ze gebruikt. Iets als bindColumn is ook altijd langer, maar heeft toch (soms) zijn voordelen in leesbaarheid en performance.
En tegen iets als mysql_query_safe kan qua lengte (bijna) niets op, maar gelukkig is lengte toch niet heel relevant. :)

Vitamine D tekorten in Nederland | Dodelijk coronaforum gesloten