@jorge
Для вставки переменной в SQL запрос на PHP можно использовать параметризованные запросы с помощью подготовленных выражений.
Предположим, у нас есть переменная $name
, которую мы хотим вставить в запрос для поиска пользователей в таблице users
. Вместо того, чтобы вставлять значение переменной $name
непосредственно в SQL запрос, мы можем использовать подготовленный запрос.
Например, код может выглядеть так:
1 2 3 4 |
$name = 'John'; $stmt = $pdo->prepare('SELECT * FROM users WHERE name = :name'); $stmt->bindParam(':name', $name); $stmt->execute(); |
Здесь мы использовали prepare()
для подготовки запроса с параметром :name
. Затем мы связываем переменную $name
с параметром :name
с помощью bindParam()
. Наконец, мы выполняем запрос с помощью execute()
.
Этот код безопасен от SQL инъекций, так как значение переменной $name
не вставляется непосредственно в SQL запрос, а передается в запрос через параметр :name
.
@jorge
Еще один способ вставить переменную в SQL запрос на PHP - это использование оператора "?" вместо конкретного значения. При выполнении запроса, вы можете передать массив значений, которые будут заменять вопросительные знаки в запросе.Например:
1 2 3 4
$name = 'John'; $stmt = $pdo->prepare('SELECT * FROM users WHERE name = ?'); $stmt->execute([$name]);
Здесь мы подготавливаем запрос с оператором "?". Затем, при выполнении запроса, передаем массив с переменной $name, которая будет заменять вопросительный знак в запросе. Этот способ также безопасен от SQL инъекций, поскольку значения переменных обрабатываются правильно при выполнении подготовленного выражения.