Advertisements

check_column

Definition:
function check_column($table_name, $col_name, $col_type, $is_null = null, $key = null, $default = null, $extra = null) {}

Check column matches criteria.
Uses the SQL DESC for retrieving the table info for the column. It will help understand the parameters, if you do more research on what column information is returned by the SQL statement. Pass in null to skip checking that criteria.

Parameters

  • string $table_name: Table name
  • string $col_name: Column name
  • string $col_type: Column type
  • bool $is_null: Optional. Check is null.
  • mixed $key: Optional. Key info.
  • mixed $default: Optional. Default value.
  • mixed $extra: Optional. Extra value.

Return values

returns:True, if matches. False, if not matching.

Source code

function check_column($table_name, $col_name, $col_type, $is_null = null, $key = null, $default = null, $extra = null) {

	global $wpdb, $debug;

	$diffs = 0;

	$results = $wpdb->get_results("DESC $table_name");



	foreach ($results as $row ) {

		if ($debug > 1) print_r($row);



		if ($row->Field == $col_name) {

			// got our column, check the params

			if ($debug) echo ("checking $row->Type against $col_type\n");

			if (($col_type != null) && ($row->Type != $col_type)) {

				++$diffs;

			}

			if (($is_null != null) && ($row->Null != $is_null)) {

				++$diffs;

			}

			if (($key != null) && ($row->Key  != $key)) {

				++$diffs;

			}

			if (($default != null) && ($row->Default != $default)) {

				++$diffs;

			}

			if (($extra != null) && ($row->Extra != $extra)) {

				++$diffs;

			}

			if ($diffs > 0) {

				if ($debug) echo ("diffs = $diffs returning false\n");

				return false;

			}

			return true;

		} // end if found our column

	}

	return false;

}

599

Advertisements

No comments yet... Be the first to leave a reply!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: