функция since 1.0.0

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
Проверка на 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.

Что будем искать? Например,Продвижение

Этот сайт использует куки-файлы. Оставаясь на сайте, Вы соглашаетесь на их использование. Для получения дополнительной информации, пожалуйста, ознакомьтесь с политикой в отношении персональных данных.