check_column()
Проверено на WordPress 6.9, обновлено Источник: WordPress Developer Resources.
Сигнатура
check_column( string $table_name, string $col_name, string $col_type, bool $is_null = null, mixed $key = null, mixed $default_value = null, mixed $extra = null ): bool
Описание
Использует SQL-инструкцию DESC для получения сведений о столбце таблицы. Это поможет разобраться в параметрах, если вы подробнее изучите, какая информация о столбце возвращается этим SQL-запросом. Передайте null, чтобы пропустить проверку соответствующего критерия.
Имена столбцов, возвращаемые командой DESC для таблицы, чувствительны к регистру и перечислены ниже:
Field
Type
Null
Key
Default
Extra
Оригинал (английский)
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.
Column names returned from DESC table are case sensitive and are as listed:
- Field
- Type
- Null
- Key
- Default
- Extra
Параметры
$table_name
string
обязательный
$col_name
string
обязательный
$col_type
string
обязательный
$is_null
bool
необязательный
= null
$key
mixed
необязательный
= null
$default_value
mixed
необязательный
= null
$extra
mixed
необязательный
= null
Возвращаемое значение
bool
Исходный код
wp-admin/install-helper.php:183
function check_column( $table_name, $col_name, $col_type, $is_null = null, $key = null, $default_value = null, $extra = null ) {
global $wpdb;
$diffs = 0;
// phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared -- Cannot be prepared. Fetches columns for table names.
$results = $wpdb->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_value ) && ( $row->Default !== $default_value ) ) {
++$diffs;
}
if ( ( null !== $extra ) && ( $row->Extra !== $extra ) ) {
++$diffs;
}
if ( $diffs > 0 ) {
return false;
}
return true;
} // End if found our column.
}
return false;
}
История изменений
| Версия | Описание |
|---|---|
| 1.0.0 | Introduced. |

