Исходя из вашего комментария, что:
Я использую эту функцию для извлечения некоторых результатов, которые мне нужно использовать позже в программе
Звучит таквам нужно вернуть результаты fetchAll()
из функции.
Это легко достигается:
function data_extraction($sql) {
$query = $co->prepare($sql);
$query->execute();
$arr = $query->fetchAll(PDO::FETCH_ASSOC);
return $arr;
}
Это вернет array
, созданный fetchAll()
, вызывающим абонентам вашегоfunction.
Примечание: вы, вероятно, не хотите возвращать $query
, поскольку это даст внешнему абоненту доступ к вашему подготовленному утверждению.
Для использования в вашем коде:
...
$results = data_extraction('SELECT xyz...');
Замена оператора SELECT xyz...
выбранным оператором SQL.
NOTE
После важного комментария @YourCommonSense относительно параметризации подготовленных операторов PDO,Я призываю проявлять крайнюю осторожность при добавлении пользовательского контента в операторы SQL без использования параметров. Ссылка, предоставленная @YourCommonSense: здесь , в которой содержится великолепное описание проблемы и способы ее решения.
Этот ответ в первую очередь предназначен для ответа на вопрос Do I use a return statement?
, а не How do I safely use PDO prepared statements