The implementation boundary
Use prepared statements for user-controlled values. A placeholder represents a complete data value, not a column name or SQL keyword. Use an explicit allowlist when the user selects a sort column, and keep identifiers out of string concatenation with raw input. Validate lengths and types separately.
Verification that matters
Test ordinary values, quotes, empty input and oversized input. Check both allowed and denied access to records; SQL injection protection does not enforce ownership. Return a useful public error while keeping database details in protected logs.
Official documentation and further reading
This is an overview based on official product information, not a hands-on performance test or security certification.