Использование константы в bindParam PHP
Как я могу использовать Константу вместо переменной при подготовке запроса в bindParam? [SQLite3] PHP version 8.1
const USER_ID = "1234"; // constant
$result = selectAll();
echo print_r($result);
function selectAll () {
$sql = "SELECT * FROM `reqClan` WHERE `id` = :id";
$sqlPrepare = $db->prepare($sql);
$sqlPrepare->bindParam(':id', USER_ID); // <--- THIS! USER_ID - is constant!
$result = $sqlPrepare->execute()->fetchArray(SQLITE3_ASSOC);
return $result;
}
Я знаю что могу перед обращением к SQLite3 добавить переменную и к ней присвоить значение константы, а уже после использовать переменную ля запроса к БД, но к сожалению, мне бы хотелось использовать Константу в запросах, конечно, если это вообще возможно.
Дело в том, что у меня довольно много функций, и хотелось бы реализовать это через константу, без передачи еще одного параметра в функцию $user_id
Ответы (1 шт):
С bindParam вряд ли получится, поэтому проще будет использовать bindValue при таком подходе.
Но, хочу сказать, такой подход через глобальные переменные, пусть и константы - не очень. Раз метод манипулирует какими-то данными внутри, которые задаются откуда-то, то этот метод должен иметь параметры и нужно передвать данные туда. Тогда можно будет и переменную спокойно биндить и константу передавать в метод в качестве аргумента.
А в текущем подходе будет так: когда придёт время поменять данные на динамические - будет очередной геморрой по переделке кода