Зачем писать WHERE `id` = :id, если можно написать WHERE `id` = $id ?
Допустим, в этой функции:
public static function getById(int $id): ?self
{
$db = Db::getInstance();
$entities = $db->query('SELECT * FROM `' . static::getTableName() . '` WHERE `id` = :id;', [':id' => $id], static::class);
return $entities[0] ?: null;
}
Здесь уже стоит типизация: int $id , значит ничего, кроме int передаться не может. Или я не правильно понимаю?
Ответы (1)
Конкретно в этом примере можно так написать. Но лучше ввести использование параметризованных запросов в привычку - так точно не будет дыр.
ivashkevich 26.05.2020 в 10:26
Добавить новый ответ