Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. Connection.php

function Connection::escapeField

Escapes a field name string.

Force all field names to be strictly alphanumeric-plus-underscore. For some database drivers, it may also wrap the field name in database-specific escape characters.

Parameters

string $field: An unsanitized field name.

Return value

string The sanitized field name.

File

core/lib/Drupal/Core/Database/Connection.php, line 1022

Class

Connection
Base Database API class.

Namespace

Drupal\Core\Database

Code

public function escapeField($field) {
    if (!isset($this->escapedFields[$field])) {
        $escaped = preg_replace('/[^A-Za-z0-9_.]+/', '', $field);
        [
            $start_quote,
            $end_quote,
        ] = $this->identifierQuotes;
        // Sometimes fields have the format table_alias.field. In such cases
        // both identifiers should be quoted, for example, "table_alias"."field".
        $this->escapedFields[$field] = $start_quote . str_replace('.', $end_quote . '.' . $start_quote, $escaped) . $end_quote;
    }
    return $this->escapedFields[$field];
}

API Navigation

  • Drupal Core 11.1.x
  • Topics
  • Classes
  • Functions
  • Constants
  • Globals
  • Files
  • Namespaces
  • Deprecated
  • Services
RSS feed
Powered by Drupal