Проблема связана с областью действия функции.Переменные извне функции могут использоваться внутри нее только в том случае, если (а) они переданы в качестве аргументов или (б) если они импортированы с использованием оператора global
.Последнее очень плохая идея.
Вам необходимо передать объект оператора в вашу функцию, а также значение, которое вы хотите связать:
function get_type($record_data, $a) {
// ...
get_type($record_data, $answr);
При этом ваш код выглядиточень сломленИдея определения того, должно ли значение передаваться как целое число или строка на основе его типа в приложении (а не типа столбца базы данных), кажется мне неверной. Кроме того, вы делаете foreach
, но будет использоваться только последний элемент в массиве, поскольку вы привязываете только один параметр (:value
).Вы почти наверняка должны переосмыслить весь свой подход здесь.