$database->getColumns() method

Get all columns from given table

By default returns array of column names. If verbose option is true then it returns an array of arrays, each having 'name', 'type', 'null', 'default', and 'extra' keys, indicating the column name, column type, whether it can be null, what it’s default value is, and any extra information, such as whether it is auto_increment. The verbose option also makes the return value indexed by column name (associative array).

Available since version 3.0.180.

Usage

// basic usage
$array = $database->getColumns(string $table);

// usage with all arguments
$array = $database->getColumns(string $table, $verbose = false);

Arguments

NameType(s)Description
tablestring

Table name or or table.column to get for specific column (when combined with verbose=true)

verbose (optional)bool, int, string

Include array of verbose information for each? (default=false)

  • Omit or false (bool) to just get column names.
  • True (bool) or 1 (int) to get a verbose array of information for each column, indexed by column name.
  • 2 (int) to get raw MySQL column information, indexed by column name (added 3.0.182).
  • 3 (int) to get column types as used in a CREATE TABLE statement (added 3.0.185).
  • Column name (string) to get verbose array only for only that column (added 3.0.182).

Return value

array


$database methods and properties

API reference based on ProcessWire core version 3.0.200

Twitter updates

  • A review of weekly core updates, plus a simple recipe for a very effective listing cache—More
    24 June 2022
  • Weekly update: Making ProcessWire render pages at old WordPress URLs (or building a simple/custom URL router in PW): More
    17 June 2022
  • New post: ProcessWire now comes with just 1 site installation profile, the "blank" profile. It makes very few assumptions, making it a minimal though excellent starting point. Here’s how you might use it— More
    10 June 2022

Latest news

  • ProcessWire Weekly #424
    In the 424th issue of ProcessWire Weekly we'll check out the latest weekly update from Ryan, introduce a new third party module, and more. Read on!
    Weekly.pw / 25 June 2022
  • Starting a site with the “blank” profile
    ProcessWire 3.0.200+ comes with just 1 site installation profile, the site-blank profile. This profile makes very few assumptions, making it a minimal though excellent starting point. Here’s how you might use it. 
    Blog / 10 June 2022
  • Subscribe to weekly ProcessWire news

“We were really happy to build our new portfolio website on ProcessWire! We wanted something that gave us plenty of control on the back-end, without any bloat on the front end - just a nice, easy to access API for all our content that left us free to design and build however we liked.” —Castus, web design agency in Sheffield, UK