MySQL : Check if field exists

Mon, Sep 10, 2007

MySQL

Sometimes, you need to check if a field exists in a table and if it doesn’t, you need to add it to the table and ensure that its there. Below is a snippet which you can use a reference for checking whether a field/column exists in a MySQL database table.

$tableFields = mysql_list_fields("databasename", "tablename");
       
$columns = mysql_num_fields($fields);
       
for ($i = 0; $i < $columns; $i++) {
    $field_array[] = mysql_field_name($fields, $i);
}
       
if (!in_array(‘list_id’, $field_array)) {
    mysql_query("ALTER TABLE `tablename` ADD `fieldname` INT(11) NOT NULL DEFAULT ‘1′;");
}

I hope that you find this useful.
The code above should give you a good idea of how to do it.

scriptlancebannerpng

This post was written by:

Antonie Potgieter - who has written 46 posts on Lost-In-Code.

I (Antonie Potgieter) am a software engineer/web developer located in South Africa. My full-time work is the management of Tribulant Software and the development of its software packages.

Contact the author

1 Comments For This Post

  1. Nad Says:

    $tableFields = mysql_list_fields(”databasename”, “tablename”);

    has to be changed to

    $fields = mysql_list_fields(”databasename”, “tablename”);

Leave a Reply