public static detectTypes ( PDOStatement $statement ) : array | ||
$statement | PDOStatement | |
return | array |
public static function detectTypes(\PDOStatement $statement)
{
$types = [];
$count = $statement->columnCount();
// driver must be meta-aware, see PHP bugs #53782, #54695
for ($col = 0; $col < $count; $col++) {
$meta = $statement->getColumnMeta($col);
if (isset($meta['native_type'])) {
$types[$meta['name']] = self::detectType($meta['native_type']);
}
}
return $types;
}
/** * Returns associative array of detected types (IReflection::FIELD_*) in result set. */ public function getColumnTypes(\PDOStatement $statement) { return Nette\Database\Helpers::detectTypes($statement); }