Как использовать имена столбцов в PHP PDO без обязательных столбцов

Существует ли метод прямого использования имени столбца при выводе данных без привязки столбцов при использовании php pdo и mySql вместо использования $row['columnName'] .

Например: Мой текущий метод

 $sql = "select id, name, address, country from members where country = :country"; $stmt=$conn->prepare($sql); $stmt->execute(array(':country' => $country)); while( $row = $stmt->fetch() ) { //I can forgo the while loop. echo $row['name']; //Can I use $name here? echo $row['address']; echo $row['country']; } 

Вместо использования $row['colName'] можно ли каким-то образом использовать $colName ? Я знаю, что ezSql делает это так, но я не использую ezSql поскольку он не поддерживает подготовленные инструкции. Как это может быть сделано? Может быть, for each ? Является ли это возможным?

Я знаю, что могу связывать столбцы, но я тоже пытаюсь избежать этого. Сохраняйте код как минимум.

Если вы действительно не хотите связывать столбцы или использовать ссылки на массивы или свойства объекта и не против загрязнять текущую область переменных, попробуйте этот уродливый взломать

 while( $row = $stmt->fetch(PDO::FETCH_ASSOC) ) { extract($row); echo $name; // etc } 

Как упоминалось в моем ответе на ваш предыдущий, повторяющийся вопрос , PDOStatement::bindColumn бы PDOStatement::bindColumn . Я действительно не знаю, чего вы пытаетесь достичь, «сохраняя код до минимума», кроме того, чтобы доказать, что вы непрофессиональны.

Вы можете использовать этот код:

 extract($row); 

и тогда у вас есть:

$name , $address и т. д.