При использовании TCP стека (Ethernet, IP, TCP) не гарантируется сохранение целостности.
$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 => "Нет блокировок",
};
Если я вставлю в каждом 100метре один коммутатор
$_GET['id'] = '1;DROP TABLE Students;';
$id = formatstr($_GET['id']);
$sql = "SELECT * FRPM Students WHERE id=$id";
function createCounter() {
let counter =0;
counter = counter - 10
const myFunction = function () {
counter = counter+1;
return counter
}
return myFunction
}
let z = createCounter() // Вернули в переменную z функцию "myFunction" у которой в замыкании есть counter.
// counter внутри на данный момент равен -10.
// Вызвали функцию и вывели результат в консоль.
// Так как внутри функции counter берётся из замыкания, то при вызове функции получаем
// -10 + 1
console.log(z()) // -9
// В данном примере - бесполезный ничего не делающий вызов.
// То есть создаётся ещё один НОВЫЙ счётчик, со своим замыканием, но он никуда не сохраняется.
createCounter()
// Снова вызвали функцию и вывели результат в консоль.
// -9 + 1
console.log(z()) // -8
где я допускаю ошибку
Второй вопрос откуда берется counter при втором вызове console.log(z())
Как сделать поиск максимально производительным?Вопрос из серии "какая машина самая крутая?". Нет решения которое подходит под любой вариант базы и структуры, иначе все только одним им и пользовались, логично?
Есть несколько больших postgresql таблиц(по ≈ 1млн строк в каждой).Это таблицы среднего размера, ничего большого в них нет. Миллион записей это средняя таблица со статистикой, все должно работать достаточно быстро и без каких-то особых танцев.
Пользователь вводит номер, ему выдаётся инфа из бд.Ну так сами пробовали сделать 20-30 рандомных запросов и посмотреть скорость, explain, использование индексов? Или мы "боимся заранее"?
Что использовать? Асинхронность? Многопоточность?Мозги, используйте мозги, это гораздо эффективнее...