wpdb::get_row()publicWP 0.71

Получает первую строку из результата SQL запроса. Возвращает строку в виде объекта.

Используйте параметр $row_offset, чтобы получить вторую, третью, ..., n-ю строку из запроса.

Метод класса: wpdb{}

Работает на основе: wpdb::query()

Хуков нет.

Возвращает

Массив|Объект|null|null.

  • object - при $output_type = OBJECT (по умолчанию).
  • array - при $output_type = ARRAY_A или ARRAY_N.
  • null - когда не удалось получить данные (запрашиваемых данных нет в бд).

Использование

$wpdb->get_row( $query, $output_type, $row_offset );
$query(строка)
Запрос который нужно выполнить.
$output_type(константа)

Одна из трех констант. Может быть:

  • OBJECT - результат будет возвращен в виде объекта (по умолчанию).
  • ARRAY_A - результат будет возвращен в виде ассоциативного массива.
  • ARRAY_N - результат будет возвращен в виде пронумерованного массива.
    По умолчанию OBJECT
$row_offset(число)
Номер возвращаемой строки результата запроса.
По умолчанию 0 (первая строка)

Примеры

1

#1 С использованием константы:

$mylink = $wpdb->get_row( "SELECT * FROM $wpdb->links WHERE link_id = 10", ARRAY_A );

// результатом будет ассоциативный массив
echo $mylink['link_id']; // выведет на экран "10"

или

$mylink = $wpdb->get_row( "SELECT * FROM $wpdb->links WHERE link_id = 10", ARRAY_N );

// результатом будет пронумерованный массив
echo $mylink[1]; // выведет на экран"10"
0

#2 Получим всю информацию о ссылке 10

$mylink = $wpdb->get_row( "SELECT * FROM $wpdb->links WHERE link_id = 10" );

// Теперь, свойства (переменные) $mylink - это названия
//колонок из таблицы $wpdb->links со значениями полей таблицы:
echo $mylink->link_id; // выведет на экран "10"

Список изменений

С версии 0.71 Введена.

Код wpdb::get_row() WP 6.5.2

public function get_row( $query = null, $output = OBJECT, $y = 0 ) {
	$this->func_call = "\$db->get_row(\"$query\",$output,$y)";

	if ( $query ) {
		if ( $this->check_current_query && $this->check_safe_collation( $query ) ) {
			$this->check_current_query = false;
		}

		$this->query( $query );
	} else {
		return null;
	}

	if ( ! isset( $this->last_result[ $y ] ) ) {
		return null;
	}

	if ( OBJECT === $output ) {
		return $this->last_result[ $y ] ? $this->last_result[ $y ] : null;
	} elseif ( ARRAY_A === $output ) {
		return $this->last_result[ $y ] ? get_object_vars( $this->last_result[ $y ] ) : null;
	} elseif ( ARRAY_N === $output ) {
		return $this->last_result[ $y ] ? array_values( get_object_vars( $this->last_result[ $y ] ) ) : null;
	} elseif ( OBJECT === strtoupper( $output ) ) {
		// Back compat for OBJECT being previously case-insensitive.
		return $this->last_result[ $y ] ? $this->last_result[ $y ] : null;
	} else {
		$this->print_error( ' $db->get_row(string query, output type, int offset) -- Output type must be one of: OBJECT, ARRAY_A, ARRAY_N' );
	}
}