Я создаю простой конструктор запросов для PHP PDO, чтобы создавать запросы быстрее, без выполнения большого количества процессов связывания и создания запросов на части, где условия / заказы / ограничения составляются вместе в зависимости от некоторых условий (например, механизм фильтрации где вы можете выбрать некоторые критерии). У меня есть такой метод:
$query->addWhere( 'uid', '>' , 100 );
Который добавляет, где условие и привязывает: uid к 100, я также могу опустить привязку следующим образом:
$query->addWhere( 'date', '>' , 'NOW()' , false );
Но я не привожу информацию типа 100 параметров. Более подробно при выполнении запроса я не делаю bindParam или bindValue, но передаю свою связанную таблицу для выполнения:
$stmt->execute( $query->getBinds() );
Все ли мои параметры рассматриваются как PARAM_STR или он получает тип PDO из типа переменной в массиве? Что я могу потерять с этим? только производительность / память или возможна потеря данных или логическая ошибка?
P.S.
Я не хочу создавать другие классы для params, потому что я хочу, чтобы все было просто, я имею в виду что-то вроде:
$query->addWhere( new Field('uid') , '=' , new IntParam( 100 ) ); or something