Это строка 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‑инъекции.
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‑инъекции.