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;
}