$data = [
"%{$_POST['surname']}%",
"%{$_POST['name']}%",
"%{$_POST['fathername']}%",
"%{$_POST['phone']}%",
];
$query = "SELECT * FROM `people`
WHERE `surname` LIKE ? OR `name` LIKE ? OR `fathername` LIKE ? OR `phone` LIKE ?";
$result = $conn->execute_query($query, $data);
$stmt = $conn->prepare($query);
$stmt->bind_param("ssss", ...$data);
$stmt->execute();
$result = $stmt->get_result();
?foo[]=bar&foo[]=bar2
, то уникальность явно не является обязательной.if ($config->get('debug_mode') == true) {
print $message;
$sql = "SELECT * FROM blocks WHERE user_id = ?";
// выполняем запрос без инъекций. если версия РНР не новая, надо будет дописать эту функцию самому
$result = $conn->execute_query($sql, [$id]);
// получаем запрошенную строку, без всяких num_rows и foreach
$row = $result->fetch_assoc();
// получаем $block_level, даже если в $row пусто
$block_level = $row["type"] ?? 0;
// match - новое выражение в РНР начиная с 8.0 версии. в сто раз аккуратнее чем забор из elseif
$block_text_type = match ($block_level) {
1 => "Незначительная блокировка",
2 => "Частичная блокировка",
3 => "Полная блокировка",
default => "Нет блокировок",
};
thisisahardcodedsaltaO
thisisahardcodedsaltaP
thisisahardcodedsaltaQ
thisisahardcodedsaltaR
thisisahardcodedsaltaS
thisisahardcodedsaltaT
thisisahardcodedsaltaU
thisisahardcodedsaltaV
thisisahardcodedsaltaW
thisisahardcodedsaltaX
thisisahardcodedsaltaY
thisisahardcodedsaltaZ
thisisahardcodedsaltaa
thisisahardcodedsaltab
thisisahardcodedsaltac
thisisahardcodedsaltad