27 Окт в 05:41
4 +1
0
Ответы
1
Это строка SQL-запроса на выборку всех полей пользователя по переменной $id \$id $id. В текущем виде есть два замечания:
1. Синтаксис: в примере пропущена закрывающая кавычка и точка с запятой.
2. Без проверки/эскейпа переменная уязвима к SQL‑инъекции.
Рекомендации (коротко):
- Если $id \$id $id должен быть целым — явное приведение: использовать (int)$id (int)\$id (int)$id, например:
$query = "SELECT * FROM users WHERE id = " . (int)\$id;
- Лучший вариант — подготовленные выражения (PDO):
$stmt = \$pdo->prepare("SELECT * FROM users WHERE id = :id");
$stmt->execute(['id' => \$id]);
\$user = \$stmt->fetch();
- Или с mysqli:
$stmt = \$mysqli->prepare("SELECT * FROM users WHERE id = ?");
$stmt->bind_param("i", \$id);
$stmt->execute();
Используйте подготовленные запросы или строгую валидацию/приведение типов, чтобы исключить SQL‑инъекции.
27 Окт в 06:03
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир