Наткнулся на статью по защите запросов к базе, и появился вопрос.
Пожалуйста, не судите строго.
Вот когда я только изучал PHP, такой запрос к базе был очень простым
$query = "SELECT * FROM `table`";
$sql = mysql_query($query);
$row = mysql_fetch_array($sql);
Благо, всё понятно, что откуда идёт. Читается хорошо. Сейчас появился новый формат записи, причём он написан непонятным мне языком, и считается самым безопасным обращением к базе. За безопасность я обеими руками за, но я не понимаю что здесь написано =(
$sql = "SELECT * FROM users WHERE name=:name and age=:age";
$stmt = $db->prepare($sql);
$stmt->execute(array(":name" => $name, ":age" => $age));
Причём кодирование в виде знаков =>,: age, методами prepare() и execute() я приветствую и оно мне даже нравится, но это гораздо сложнее, чем то, что я изучал раньше. Объясните пожалуйста вкратце эту запись.