check_column()

最后更新于:2021-11-25 20:29:10

check_column( string$table_name, string$col_name, string$col_type, bool$is_null=null, mixed$key=null, mixed$default=null, mixed$extra=null)

Checks that database table column matches the criteria.

参数

$table_name

(string) (Required) Database table name.

$col_name

(string) (Required) Table column name.

$col_type

(string) (Required) Table column type.

$is_null

(bool) (Optional) Check is null.

Default value: null

$key

(mixed) (Optional) Key info.

Default value: null

$default

(mixed) (Optional) Default value.

Default value: null

$extra

(mixed) (Optional) Extra value.

Default value: null

响应

(bool) True, if matches. False, if not matching.

源文件

文件: gc-admin/install-helper.php

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

	$diffs   = 0;
	$results = $gcdb->get_results( "DESC $table_name" );

	foreach ( $results as $row ) {

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

			// Got our column, check the params.
			if ( ( null !== $col_type ) && ( $row->Type !== $col_type ) ) {
				++$diffs;
			}
			if ( ( null !== $is_null ) && ( $row->Null !== $is_null ) ) {
				++$diffs;
			}
			if ( ( null !== $key ) && ( $row->Key !== $key ) ) {
				++$diffs;
			}
			if ( ( null !== $default ) && ( $row->Default !== $default ) ) {
				++$diffs;
			}
			if ( ( null !== $extra ) && ( $row->Extra !== $extra ) ) {
				++$diffs;
			}

			if ( $diffs > 0 ) {
				return false;
			}

			return true;
		} // End if found our column.
	}

	return false;
}