Bird
0
0

Which of the following SQL query constructions is syntactically correct and safe from injection?

easy📝 Syntax Q3 of 15
SQL - Security Basics
Which of the following SQL query constructions is syntactically correct and safe from injection?
ASELECT * FROM users WHERE name = ?;
BSELECT * FROM users WHERE name = '" + userInput + "';
CSELECT * FROM users WHERE name = userInput;
DSELECT * FROM users WHERE name = CONCAT(userInput);
Step-by-Step Solution
Solution:
  1. Step 1: Review each option's syntax and safety

    SELECT * FROM users WHERE name = '" + userInput + "'; uses string concatenation, vulnerable to injection. SELECT * FROM users WHERE name = userInput; treats userInput as a column, causing error. SELECT * FROM users WHERE name = CONCAT(userInput); misuses CONCAT function.
  2. Step 2: Identify the safe parameterized query

    SELECT * FROM users WHERE name = ?; uses a placeholder '?', which is standard for parameterized queries and safe.
  3. Final Answer:

    SELECT * FROM users WHERE name = ?; -> Option A
  4. Quick Check:

    Safe syntax = parameter placeholder [OK]
Quick Trick: Use '?' placeholders for safe parameterized queries [OK]
Common Mistakes:
  • Using string concatenation with quotes
  • Confusing variables with column names
  • Misusing SQL functions for input

Want More Practice?

15+ quiz questions · All difficulty levels · Free

Free Signup - Practice All Questions
More SQL Quizzes