Hei!
Jos lähetän formilta tiedon ja sijoitan tiedon muuttujaan. Siinä välissä kun tiedon sijoitan ajan sen mysql_real_escape_string tiedon läpi. Tämän jälkeen sijoitan muuttujan luokkaan ja käytän siellä. Onko täälläkin syytä vielä tietoa käytettäessä, esim sijoittaessa arvoa tietokantaan ajaa se mysql_real_escape_string function läpi vai onko se turhaa? Onko siitä haittaakaan?
Eipä siitä hyötyä ole, ellei sitä käpistellä ennen tietokantaan laittoa. Nimellinen tehohaitta vain.
Oletko kokeillut, mitä tapahtuu, jos syötät merkkejä ' tai \ lomakkeeseen? Luultavasti escape on nyt väärässä välissä. Tee escape aina vasta juuri ennen SQL-kyselyä. Älä tallenna uutta arvoa mihinkään pysyvästi vaan käytä sitä vain kyselyssä.
Kiitoksia, sitä on tullut laitettua sitten varmaan väärään paikkaan aina välissä :)
Tässä on jälleen kerran hyvä esimerkki siitä, miksi tietokantaoperaatiot kannattaisi PHP:n tapauksessa suorittaa PDO:lla. Tällöin syötteiden escapettaminen osuu automaattisesti aina oikeaan kohtaan...
Niinpä, mutta kun on kaavoihin kangistunut :) Jospa sitä joku kaunis päivä tutustuisi paremmin siihden PDO:hon :)
Kannattaa myös muistaa, että PDO on vain yksi vaihtoehto. Muissa ympäristöissä on tullut käyteltyä erilaisia ORMeja ja minulla kyllä alkoi V-käyrä nousta aika nopeasti kun jouduin vähän PDO:lla vääntämään.
Aihe on jo aika vanha, joten et voi enää vastata siihen.