$database->columnExists() method

Does the given column exist in given table?

Available since version 3.0.154.

Example

// Standard usage:
if($database->columnExists('pages', 'name')) {
  echo "The pages table has a 'name' column";
}

// You can also bundle table and column together:
if($database->columnExists('pages.name')) {
  echo "The pages table has a 'name' column";
}

$exists = $database->columnExists('pages', 'name', true);
if($exists) {
  // associative array with indexes: Name, Type, Null, Key, Default, Extra
  echo "The pages table has a 'name' column and here is verbose info: ";
  print_r($exists);
}

Usage

// basic usage
$bool = $database->columnExists(string $table);

// usage with all arguments
$bool = $database->columnExists(string $table, string $column = '', bool $getInfo = false);

Arguments

NameType(s)Description
tablestring

Specify table name (or table and column name in format "table.column").

column (optional)string

Specify column name (or omit or blank string if already specified in $table argument).

getInfo (optional)bool

Return array of column info (with type info, etc.) rather than true when exists? (default=false) Note that the returned array is raw MySQL values from a SHOW COLUMNS command.

Return value

bool array

Exceptions

Method can throw exceptions on error:

  • WireDatabaseException


$database methods and properties

API reference based on ProcessWire core version 3.0.236

Latest news

  • ProcessWire Weekly #522
    In the 522nd issue of ProcessWire Weekly we'll check out the latest core updates, introduce a new module called File Mover, and more. Read on!
    Weekly.pw / 11 May 2024
  • ProFields Table Field with Actions support
    This week we have some updates for the ProFields table field (FieldtypeTable). These updates are primarily focused on adding new tools for the editor to facilitate input and management of content in a table field.
    Blog / 12 April 2024
  • Subscribe to weekly ProcessWire news

I just love the easy and intuitive ProcessWire API. ProcessWire rocks!” —Jens Martsch, Web developer