Я только начал использовать Php Data Objects, и одна вещь, о которой я не уверен, – это проверить, что какая-то переменная является целым числом, прежде чем использовать ее в запросе. Например, например: $id = (int)$_POST['id']; // is this required $query = $pdo->prepare("SELECT * FROM `articles` WHERE `id` = ?"); $query->bindValue(1, $id); $query->execute();
Существуют ли какие-либо побочные эффекты для отключения эмуляции при использовании подготовленных операторов с pdo? Я использую select * и ограничиваю результаты, которые нужно обрабатывать как int, а не строку. Я могу сделать одну из двух вещей. $conn->setAttribute( PDO::ATTR_EMULATE_PREPARES, false ); Или привязать эти переменные явно с типом param: $stm = $pdo->prepare('SELECT * FROM table LIMIT […]