Đây gần như là một cuộc thảo luận về tôn giáo tùy thuộc vào người bạn hỏi. Có một sự cân bằng mong manh mà các nhà phát triển và dbas phải dung hòa trong các loại trường hợp này.
Về cơ bản, đây là suy nghĩ bạn thực sự muốn vận dụng:
Nếu mã PHP đang sử dụng SQL động, các biện pháp bảo vệ chống lại các cuộc tấn công chèn SQL phải được xem xét mọi lúc. Đầu vào PHẢI được làm sạch trước khi đưa vào cơ sở dữ liệu.
Nếu mã PHP đang sử dụng SQL động nhưng quy ước là sử dụng các câu lệnh đã chuẩn bị sẵn thì bạn sẽ an toàn hơn ở một mức độ nào đó nhưng phải cẩn thận trong cách sử dụng các câu lệnh đã chuẩn bị.
Nếu mã PHP đang sử dụng các thủ tục được lưu trữ, phần lớn quyền kiểm soát SQL sẽ bị loại bỏ khỏi nhà phát triển và để DBA làm việc với các nhà phát triển để cung cấp giải pháp phù hợp đáp ứng nhu cầu của họ. Thật không may, điều này có thể gây ra nhiều thời gian và công sức cũng như việc lặp đi lặp lại trong quá trình phát triển / bảo trì.
Đó là một trong những thứ đó là một vùng xám và có nhiều trường phái suy nghĩ về mặt nào của phương trình là đúng vì cả hai đều theo quan điểm nhất định.