Dette er nærmest en religiøs diskussion afhængigt af, hvem du spørger. Der er en hårfin balance, som udviklere og dbas skal forene i disse typer sager.
Grundlæggende er her den tankegang, du virkelig ønsker at sætte i spil:
Hvis PHP-kode bruger dynamisk SQL, skal beskyttelse mod SQL-injektionsangreb til enhver tid overvejes. Input SKAL renses før de lægges til databasen.
Hvis PHP-kode bruger dynamisk SQL, men konventionen er at bruge forberedte sætninger, er du til en vis grad mere sikker, men man skal passe på, hvordan de forberedte sætninger bruges.
Hvis PHP-kode bruger lagrede procedurer, fjernes meget af kontrollen med SQL'en fra udvikleren og overlades til DBA at arbejde sammen med udviklerne om at levere en passende løsning, der opfylder deres behov. Dette kan desværre forårsage meget tid og kræfter og gå frem og tilbage på udvikling/vedligeholdelse.
Det er en af de ting, der er en gråzone, og der er mange tankegange på hvilken side af ligningen der er rigtig, fordi de begge er fra bestemte synsvinkler.