wppaste
WordPress

wpdb::query( string $query ): int|bool

Since
0.71
Source
wp-includes/class-wpdb.php:2212
Performs a database query, using current database connection.

Description

More information can be found on the documentation page.

Compatibility

WordPress
since 0.71
PHP
7.4–8.6-dev
  • 6.7.7
  • 6.8.8
  • 6.9.7
  • 7.0.4
  • 7.1.0

Present in every tracked release (6.7.7 to 7.1.0), and compiles on PHP 7.4 through 8.6-dev.

Parameters

$querystring
Database query.

Return value

int|bool
Boolean true for CREATE, ALTER, TRUNCATE and DROP queries. Number of rows affected/selected for all other queries. Boolean false on error.

Performance profile

How much work a call to wpdb::query() does, and what it touches: the algorithmic scaling, the Zend instruction count per call across PHP versions, the hooks it hands control to, and the core code that calls it. Measured from the compiled opcodes, not a stopwatch, so every number is identical on any machine running the same PHP version, and every function in core is ranked by cost.

Cost class
Heavy

Reaches the database via wpdb::query().

Scaling
Scales with input

The body loops, so the work grows with what you pass in.

Instructions
6–93

Executed per call on PHP 8.5, depending on the branch taken. The body compiles to 151.

Plugin surface
1 hook

Third-party callbacks on 'query' run inside this call, and their cost is not bounded by anything here.

Called by
7

7 places in core call this, so the cost is paid more often than your own code shows.

What it touches

  • sqldatabase querywpdb::query()this function does it
  • hookthird-party callbacksapply_filters()called directly

Further down the call graph this can also reach query, option, cache, serialize and transient. Those are the worst case, several calls deep and usually down an error path, not what a normal call pays.

What one call costs · 129 distinct outcomes

One number would be a lie: the work depends on which branch runs. These are every distinct cost wpdb::query() can have, taken from its control-flow graph on PHP 8.5.

WhenInstructionsCalls it makes
always6none
always12apply_filters()
!($value instanceof) && !->check_connection()37–39apply_filters(), ->flush(), ->_do_query(), ->check_connection()
->check_ascii() && !($value instanceof) && !->check_connection()41–43apply_filters(), ->flush(), ->check_ascii(), ->_do_query(), ->check_connection()
!->check_ascii() && $stripped_query !== false42apply_filters(), ->flush(), ->check_ascii(), ->strip_invalid_text_from_query(), ->flush(), wp_load_translations_early(), __()
$value instanceof && !->check_connection()43–45apply_filters(), ->flush(), ->_do_query(), mysqli_errno(), ->check_connection()
!($value instanceof) && !empty($value) && $mysql_errno !== 200647–55apply_filters(), ->flush(), ->_do_query(), __()
->check_ascii() && $value instanceof && !->check_connection()47–49apply_filters(), ->flush(), ->check_ascii(), ->_do_query(), mysqli_errno(), ->check_connection()
!($value instanceof) && !empty($value) && $mysql_errno !== 200648–52apply_filters(), ->flush(), ->_do_query(), __(), ->print_error()
!->check_ascii() && $stripped_query === false && !($value instanceof) && !->check_connection()49–51apply_filters(), ->flush(), ->check_ascii(), ->strip_invalid_text_from_query(), ->flush(), ->_do_query(), ->check_connection()
!($value instanceof) && !empty($value) && $mysql_errno !== 2006 && $value instanceof50–58apply_filters(), ->flush(), ->_do_query(), mysqli_error()
!($value instanceof) && !empty($value) && $mysql_errno !== 2006 && $value instanceof51–55apply_filters(), ->flush(), ->_do_query(), mysqli_error(), ->print_error()
117 further outcomes, up to 93 instructions
->check_ascii() && !($value instanceof) && !empty($value) && $mysql_errno !== 200651–59apply_filters(), ->flush(), ->check_ascii(), ->_do_query(), __()
!($value instanceof) && ->check_connection()52–62apply_filters(), ->flush(), ->_do_query(), ->check_connection(), ->_do_query(), __()
->check_ascii() && !($value instanceof) && !empty($value) && $mysql_errno !== 200652–56apply_filters(), ->flush(), ->check_ascii(), ->_do_query(), __(), ->print_error()
$value instanceof && !empty($value) && $mysql_errno !== 2006 && !($value instanceof)53–61apply_filters(), ->flush(), ->_do_query(), mysqli_errno(), __()
!($value instanceof) && ->check_connection()53–59apply_filters(), ->flush(), ->_do_query(), ->check_connection(), ->_do_query(), __(), ->print_error()
->check_ascii() && !($value instanceof) && !empty($value) && $mysql_errno !== 2006 && $value instanceof54–62apply_filters(), ->flush(), ->check_ascii(), ->_do_query(), mysqli_error()
$value instanceof && !empty($value) && $mysql_errno !== 2006 && !($value instanceof)54–58apply_filters(), ->flush(), ->_do_query(), mysqli_errno(), __(), ->print_error()
!($value instanceof) && ->check_connection() && $value instanceof55–65apply_filters(), ->flush(), ->_do_query(), ->check_connection(), ->_do_query(), mysqli_error()
->check_ascii() && !($value instanceof) && !empty($value) && $mysql_errno !== 2006 && $value instanceof55–59apply_filters(), ->flush(), ->check_ascii(), ->_do_query(), mysqli_error(), ->print_error()
!->check_ascii() && $stripped_query === false && $value instanceof && !->check_connection()55–57apply_filters(), ->flush(), ->check_ascii(), ->strip_invalid_text_from_query(), ->flush(), ->_do_query(), mysqli_errno(), ->check_connection()
$value instanceof && !empty($value) && $mysql_errno !== 200656–64apply_filters(), ->flush(), ->_do_query(), mysqli_errno(), mysqli_error()
!($value instanceof) && ->check_connection() && $value instanceof56–62apply_filters(), ->flush(), ->_do_query(), ->check_connection(), ->_do_query(), mysqli_error(), ->print_error()
->check_ascii() && !($value instanceof) && ->check_connection()56–66apply_filters(), ->flush(), ->check_ascii(), ->_do_query(), ->check_connection(), ->_do_query(), __()
$value instanceof && !empty($value) && $mysql_errno !== 200657–61apply_filters(), ->flush(), ->_do_query(), mysqli_errno(), mysqli_error(), ->print_error()
->check_ascii() && $value instanceof && !empty($value) && $mysql_errno !== 2006 && !($value instanceof)57–65apply_filters(), ->flush(), ->check_ascii(), ->_do_query(), mysqli_errno(), __()
->check_ascii() && !($value instanceof) && ->check_connection()57–63apply_filters(), ->flush(), ->check_ascii(), ->_do_query(), ->check_connection(), ->_do_query(), __(), ->print_error()
!($value instanceof) && !empty($value) && $mysql_errno !== 200658apply_filters(), ->flush(), ->_do_query(), __(), mysqli_affected_rows()
$value instanceof && ->check_connection() && !($value instanceof)58–68apply_filters(), ->flush(), ->_do_query(), mysqli_errno(), ->check_connection(), ->_do_query(), __()
->check_ascii() && $value instanceof && !empty($value) && $mysql_errno !== 2006 && !($value instanceof)58–62apply_filters(), ->flush(), ->check_ascii(), ->_do_query(), mysqli_errno(), __(), ->print_error()
->check_ascii() && !($value instanceof) && ->check_connection() && $value instanceof59–69apply_filters(), ->flush(), ->check_ascii(), ->_do_query(), ->check_connection(), ->_do_query(), mysqli_error()
!->check_ascii() && $stripped_query === false && !($value instanceof) && !empty($value) && $mysql_errno !== 200659–67apply_filters(), ->flush(), ->check_ascii(), ->strip_invalid_text_from_query(), ->flush(), ->_do_query(), __()
$value instanceof && ->check_connection() && !($value instanceof)59–65apply_filters(), ->flush(), ->_do_query(), mysqli_errno(), ->check_connection(), ->_do_query(), __(), ->print_error()
->check_ascii() && $value instanceof && !empty($value) && $mysql_errno !== 200660–68apply_filters(), ->flush(), ->check_ascii(), ->_do_query(), mysqli_errno(), mysqli_error()
->check_ascii() && !($value instanceof) && ->check_connection() && $value instanceof60–66apply_filters(), ->flush(), ->check_ascii(), ->_do_query(), ->check_connection(), ->_do_query(), mysqli_error(), ->print_error()
!->check_ascii() && $stripped_query === false && !($value instanceof) && !empty($value) && $mysql_errno !== 200660–64apply_filters(), ->flush(), ->check_ascii(), ->strip_invalid_text_from_query(), ->flush(), ->_do_query(), __(), ->print_error()
!($value instanceof) && !empty($value) && $mysql_errno !== 2006 && $value instanceof61apply_filters(), ->flush(), ->_do_query(), mysqli_error(), mysqli_affected_rows()
$value instanceof && ->check_connection()61–71apply_filters(), ->flush(), ->_do_query(), mysqli_errno(), ->check_connection(), ->_do_query(), mysqli_error()
->check_ascii() && $value instanceof && !empty($value) && $mysql_errno !== 200661–65apply_filters(), ->flush(), ->check_ascii(), ->_do_query(), mysqli_errno(), mysqli_error(), ->print_error()
->check_ascii() && !($value instanceof) && !empty($value) && $mysql_errno !== 200662apply_filters(), ->flush(), ->check_ascii(), ->_do_query(), __(), mysqli_affected_rows()
!->check_ascii() && $stripped_query === false && !($value instanceof) && !empty($value) && $mysql_errno !== 2006 && $value instanceof62–70apply_filters(), ->flush(), ->check_ascii(), ->strip_invalid_text_from_query(), ->flush(), ->_do_query(), mysqli_error()
$value instanceof && ->check_connection()62–68apply_filters(), ->flush(), ->_do_query(), mysqli_errno(), ->check_connection(), ->_do_query(), mysqli_error(), ->print_error()
->check_ascii() && $value instanceof && ->check_connection() && !($value instanceof)62–72apply_filters(), ->flush(), ->check_ascii(), ->_do_query(), mysqli_errno(), ->check_connection(), ->_do_query(), __()
!($value instanceof) && !empty($value) && $mysql_errno !== 2006 && !$query && $value instanceof63apply_filters(), ->flush(), ->_do_query(), __(), mysqli_fetch_object()
!($value instanceof) && ->check_connection()63–65apply_filters(), ->flush(), ->_do_query(), ->check_connection(), ->_do_query(), __(), mysqli_affected_rows()
!->check_ascii() && $stripped_query === false && !($value instanceof) && !empty($value) && $mysql_errno !== 2006 && $value instanceof63–67apply_filters(), ->flush(), ->check_ascii(), ->strip_invalid_text_from_query(), ->flush(), ->_do_query(), mysqli_error(), ->print_error()
->check_ascii() && $value instanceof && ->check_connection() && !($value instanceof)63–69apply_filters(), ->flush(), ->check_ascii(), ->_do_query(), mysqli_errno(), ->check_connection(), ->_do_query(), __(), ->print_error()
$value instanceof && !empty($value) && $mysql_errno !== 2006 && !($value instanceof)64apply_filters(), ->flush(), ->_do_query(), mysqli_errno(), __(), mysqli_affected_rows()
!->check_ascii() && $stripped_query === false && !($value instanceof) && ->check_connection()64–74apply_filters(), ->flush(), ->check_ascii(), ->strip_invalid_text_from_query(), ->flush(), ->_do_query(), ->check_connection(), ->_do_query(), __()
!($value instanceof) && !empty($value) && $mysql_errno !== 200665apply_filters(), ->flush(), ->_do_query(), __(), mysqli_affected_rows(), mysqli_insert_id()
->check_ascii() && !($value instanceof) && !empty($value) && $mysql_errno !== 2006 && $value instanceof65apply_filters(), ->flush(), ->check_ascii(), ->_do_query(), mysqli_error(), mysqli_affected_rows()
->check_ascii() && $value instanceof && ->check_connection()65–75apply_filters(), ->flush(), ->check_ascii(), ->_do_query(), mysqli_errno(), ->check_connection(), ->_do_query(), mysqli_error()
!->check_ascii() && $stripped_query === false && $value instanceof && !empty($value) && $mysql_errno !== 2006 && !($value instanceof)65–73apply_filters(), ->flush(), ->check_ascii(), ->strip_invalid_text_from_query(), ->flush(), ->_do_query(), mysqli_errno(), __()
!->check_ascii() && $stripped_query === false && !($value instanceof) && ->check_connection()65–71apply_filters(), ->flush(), ->check_ascii(), ->strip_invalid_text_from_query(), ->flush(), ->_do_query(), ->check_connection(), ->_do_query(), __(), ->print_error()
!($value instanceof) && !empty($value) && $mysql_errno !== 2006 && $value instanceof && !$query66apply_filters(), ->flush(), ->_do_query(), mysqli_error(), mysqli_fetch_object()
!($value instanceof) && ->check_connection() && $value instanceof66–68apply_filters(), ->flush(), ->_do_query(), ->check_connection(), ->_do_query(), mysqli_error(), mysqli_affected_rows()
->check_ascii() && $value instanceof && ->check_connection()66–72apply_filters(), ->flush(), ->check_ascii(), ->_do_query(), mysqli_errno(), ->check_connection(), ->_do_query(), mysqli_error(), ->print_error()
!->check_ascii() && $stripped_query === false && $value instanceof && !empty($value) && $mysql_errno !== 2006 && !($value instanceof)66–70apply_filters(), ->flush(), ->check_ascii(), ->strip_invalid_text_from_query(), ->flush(), ->_do_query(), mysqli_errno(), __(), ->print_error()
$value instanceof && !empty($value) && $mysql_errno !== 200667apply_filters(), ->flush(), ->_do_query(), mysqli_errno(), mysqli_error(), mysqli_affected_rows()
->check_ascii() && !($value instanceof) && !empty($value) && $mysql_errno !== 2006 && !$query && $value instanceof67apply_filters(), ->flush(), ->check_ascii(), ->_do_query(), __(), mysqli_fetch_object()
->check_ascii() && !($value instanceof) && ->check_connection()67–69apply_filters(), ->flush(), ->check_ascii(), ->_do_query(), ->check_connection(), ->_do_query(), __(), mysqli_affected_rows()
!->check_ascii() && $stripped_query === false && !($value instanceof) && ->check_connection() && $value instanceof67–77apply_filters(), ->flush(), ->check_ascii(), ->strip_invalid_text_from_query(), ->flush(), ->_do_query(), ->check_connection(), ->_do_query(), mysqli_error()
!($value instanceof) && !empty($value) && $mysql_errno !== 2006 && $value instanceof68apply_filters(), ->flush(), ->_do_query(), mysqli_error(), mysqli_affected_rows(), mysqli_insert_id()
!($value instanceof) && ->check_connection() && !$query && $value instanceof68–70apply_filters(), ->flush(), ->_do_query(), ->check_connection(), ->_do_query(), __(), mysqli_fetch_object()
->check_ascii() && $value instanceof && !empty($value) && $mysql_errno !== 2006 && !($value instanceof)68apply_filters(), ->flush(), ->check_ascii(), ->_do_query(), mysqli_errno(), __(), mysqli_affected_rows()
!->check_ascii() && $stripped_query === false && $value instanceof && !empty($value) && $mysql_errno !== 200668–76apply_filters(), ->flush(), ->check_ascii(), ->strip_invalid_text_from_query(), ->flush(), ->_do_query(), mysqli_errno(), mysqli_error()
!->check_ascii() && $stripped_query === false && !($value instanceof) && ->check_connection() && $value instanceof68–74apply_filters(), ->flush(), ->check_ascii(), ->strip_invalid_text_from_query(), ->flush(), ->_do_query(), ->check_connection(), ->_do_query(), mysqli_error(), ->print_error()
$value instanceof && !empty($value) && $mysql_errno !== 2006 && !($value instanceof) && !$query69apply_filters(), ->flush(), ->_do_query(), mysqli_errno(), __(), mysqli_fetch_object()
->check_ascii() && !($value instanceof) && !empty($value) && $mysql_errno !== 200669apply_filters(), ->flush(), ->check_ascii(), ->_do_query(), __(), mysqli_affected_rows(), mysqli_insert_id()
$value instanceof && ->check_connection() && !($value instanceof)69–71apply_filters(), ->flush(), ->_do_query(), mysqli_errno(), ->check_connection(), ->_do_query(), __(), mysqli_affected_rows()
!->check_ascii() && $stripped_query === false && $value instanceof && !empty($value) && $mysql_errno !== 200669–73apply_filters(), ->flush(), ->check_ascii(), ->strip_invalid_text_from_query(), ->flush(), ->_do_query(), mysqli_errno(), mysqli_error(), ->print_error()
->check_ascii() && !($value instanceof) && !empty($value) && $mysql_errno !== 2006 && $value instanceof && !$query70apply_filters(), ->flush(), ->check_ascii(), ->_do_query(), mysqli_error(), mysqli_fetch_object()
!($value instanceof) && ->check_connection()70–72apply_filters(), ->flush(), ->_do_query(), ->check_connection(), ->_do_query(), __(), mysqli_affected_rows(), mysqli_insert_id()
->check_ascii() && !($value instanceof) && ->check_connection() && $value instanceof70–72apply_filters(), ->flush(), ->check_ascii(), ->_do_query(), ->check_connection(), ->_do_query(), mysqli_error(), mysqli_affected_rows()
!->check_ascii() && $stripped_query === false && !($value instanceof) && !empty($value) && $mysql_errno !== 200670apply_filters(), ->flush(), ->check_ascii(), ->strip_invalid_text_from_query(), ->flush(), ->_do_query(), __(), mysqli_affected_rows()
!->check_ascii() && $stripped_query === false && $value instanceof && ->check_connection() && !($value instanceof)70–80apply_filters(), ->flush(), ->check_ascii(), ->strip_invalid_text_from_query(), ->flush(), ->_do_query(), mysqli_errno(), ->check_connection(), ->_do_query(), __()
!($value instanceof) && ->check_connection() && $value instanceof && !$query71–73apply_filters(), ->flush(), ->_do_query(), ->check_connection(), ->_do_query(), mysqli_error(), mysqli_fetch_object()
$value instanceof && !empty($value) && $mysql_errno !== 2006 && !($value instanceof)71apply_filters(), ->flush(), ->_do_query(), mysqli_errno(), __(), mysqli_affected_rows(), mysqli_insert_id()
->check_ascii() && $value instanceof && !empty($value) && $mysql_errno !== 200671apply_filters(), ->flush(), ->check_ascii(), ->_do_query(), mysqli_errno(), mysqli_error(), mysqli_affected_rows()
!->check_ascii() && $stripped_query === false && $value instanceof && ->check_connection() && !($value instanceof)71–77apply_filters(), ->flush(), ->check_ascii(), ->strip_invalid_text_from_query(), ->flush(), ->_do_query(), mysqli_errno(), ->check_connection(), ->_do_query(), __(), ->print_error()
$value instanceof && !empty($value) && $mysql_errno !== 2006 && !$query72apply_filters(), ->flush(), ->_do_query(), mysqli_errno(), mysqli_error(), mysqli_fetch_object()
->check_ascii() && !($value instanceof) && !empty($value) && $mysql_errno !== 2006 && $value instanceof72apply_filters(), ->flush(), ->check_ascii(), ->_do_query(), mysqli_error(), mysqli_affected_rows(), mysqli_insert_id()
$value instanceof && ->check_connection()72–74apply_filters(), ->flush(), ->_do_query(), mysqli_errno(), ->check_connection(), ->_do_query(), mysqli_error(), mysqli_affected_rows()
->check_ascii() && !($value instanceof) && ->check_connection() && !$query && $value instanceof72–74apply_filters(), ->flush(), ->check_ascii(), ->_do_query(), ->check_connection(), ->_do_query(), __(), mysqli_fetch_object()
->check_ascii() && $value instanceof && !empty($value) && $mysql_errno !== 2006 && !($value instanceof) && !$query73apply_filters(), ->flush(), ->check_ascii(), ->_do_query(), mysqli_errno(), __(), mysqli_fetch_object()
!($value instanceof) && ->check_connection() && $value instanceof73–75apply_filters(), ->flush(), ->_do_query(), ->check_connection(), ->_do_query(), mysqli_error(), mysqli_affected_rows(), mysqli_insert_id()
!->check_ascii() && $stripped_query === false && !($value instanceof) && !empty($value) && $mysql_errno !== 2006 && $value instanceof73apply_filters(), ->flush(), ->check_ascii(), ->strip_invalid_text_from_query(), ->flush(), ->_do_query(), mysqli_error(), mysqli_affected_rows()
->check_ascii() && $value instanceof && ->check_connection() && !($value instanceof)73–75apply_filters(), ->flush(), ->check_ascii(), ->_do_query(), mysqli_errno(), ->check_connection(), ->_do_query(), __(), mysqli_affected_rows()
!->check_ascii() && $stripped_query === false && $value instanceof && ->check_connection()73–83apply_filters(), ->flush(), ->check_ascii(), ->strip_invalid_text_from_query(), ->flush(), ->_do_query(), mysqli_errno(), ->check_connection(), ->_do_query(), mysqli_error()
$value instanceof && !empty($value) && $mysql_errno !== 200674apply_filters(), ->flush(), ->_do_query(), mysqli_errno(), mysqli_error(), mysqli_affected_rows(), mysqli_insert_id()
$value instanceof && ->check_connection() && !($value instanceof) && !$query74–76apply_filters(), ->flush(), ->_do_query(), mysqli_errno(), ->check_connection(), ->_do_query(), __(), mysqli_fetch_object()
->check_ascii() && !($value instanceof) && ->check_connection()74–76apply_filters(), ->flush(), ->check_ascii(), ->_do_query(), ->check_connection(), ->_do_query(), __(), mysqli_affected_rows(), mysqli_insert_id()
!->check_ascii() && $stripped_query === false && $value instanceof && ->check_connection()74–80apply_filters(), ->flush(), ->check_ascii(), ->strip_invalid_text_from_query(), ->flush(), ->_do_query(), mysqli_errno(), ->check_connection(), ->_do_query(), mysqli_error(), ->print_error()
->check_ascii() && !($value instanceof) && ->check_connection() && $value instanceof && !$query75–77apply_filters(), ->flush(), ->check_ascii(), ->_do_query(), ->check_connection(), ->_do_query(), mysqli_error(), mysqli_fetch_object()
->check_ascii() && $value instanceof && !empty($value) && $mysql_errno !== 2006 && !($value instanceof)75apply_filters(), ->flush(), ->check_ascii(), ->_do_query(), mysqli_errno(), __(), mysqli_affected_rows(), mysqli_insert_id()
!->check_ascii() && $stripped_query === false && !($value instanceof) && !empty($value) && $mysql_errno !== 2006 && !$query && $value instanceof75apply_filters(), ->flush(), ->check_ascii(), ->strip_invalid_text_from_query(), ->flush(), ->_do_query(), __(), mysqli_fetch_object()
!->check_ascii() && $stripped_query === false && !($value instanceof) && ->check_connection()75–77apply_filters(), ->flush(), ->check_ascii(), ->strip_invalid_text_from_query(), ->flush(), ->_do_query(), ->check_connection(), ->_do_query(), __(), mysqli_affected_rows()
->check_ascii() && $value instanceof && !empty($value) && $mysql_errno !== 2006 && !$query76apply_filters(), ->flush(), ->check_ascii(), ->_do_query(), mysqli_errno(), mysqli_error(), mysqli_fetch_object()
$value instanceof && ->check_connection() && !($value instanceof)76–78apply_filters(), ->flush(), ->_do_query(), mysqli_errno(), ->check_connection(), ->_do_query(), __(), mysqli_affected_rows(), mysqli_insert_id()
->check_ascii() && $value instanceof && ->check_connection()76–78apply_filters(), ->flush(), ->check_ascii(), ->_do_query(), mysqli_errno(), ->check_connection(), ->_do_query(), mysqli_error(), mysqli_affected_rows()
!->check_ascii() && $stripped_query === false && $value instanceof && !empty($value) && $mysql_errno !== 2006 && !($value instanceof)76apply_filters(), ->flush(), ->check_ascii(), ->strip_invalid_text_from_query(), ->flush(), ->_do_query(), mysqli_errno(), __(), mysqli_affected_rows()
$value instanceof && ->check_connection() && !$query77–79apply_filters(), ->flush(), ->_do_query(), mysqli_errno(), ->check_connection(), ->_do_query(), mysqli_error(), mysqli_fetch_object()
->check_ascii() && !($value instanceof) && ->check_connection() && $value instanceof77–79apply_filters(), ->flush(), ->check_ascii(), ->_do_query(), ->check_connection(), ->_do_query(), mysqli_error(), mysqli_affected_rows(), mysqli_insert_id()
!->check_ascii() && $stripped_query === false && !($value instanceof) && !empty($value) && $mysql_errno !== 200677apply_filters(), ->flush(), ->check_ascii(), ->strip_invalid_text_from_query(), ->flush(), ->_do_query(), __(), mysqli_affected_rows(), mysqli_insert_id()
->check_ascii() && $value instanceof && !empty($value) && $mysql_errno !== 200678apply_filters(), ->flush(), ->check_ascii(), ->_do_query(), mysqli_errno(), mysqli_error(), mysqli_affected_rows(), mysqli_insert_id()
!->check_ascii() && $stripped_query === false && !($value instanceof) && !empty($value) && $mysql_errno !== 2006 && $value instanceof && !$query78apply_filters(), ->flush(), ->check_ascii(), ->strip_invalid_text_from_query(), ->flush(), ->_do_query(), mysqli_error(), mysqli_fetch_object()
->check_ascii() && $value instanceof && ->check_connection() && !($value instanceof) && !$query78–80apply_filters(), ->flush(), ->check_ascii(), ->_do_query(), mysqli_errno(), ->check_connection(), ->_do_query(), __(), mysqli_fetch_object()
!->check_ascii() && $stripped_query === false && !($value instanceof) && ->check_connection() && $value instanceof78–80apply_filters(), ->flush(), ->check_ascii(), ->strip_invalid_text_from_query(), ->flush(), ->_do_query(), ->check_connection(), ->_do_query(), mysqli_error(), mysqli_affected_rows()
$value instanceof && ->check_connection()79–81apply_filters(), ->flush(), ->_do_query(), mysqli_errno(), ->check_connection(), ->_do_query(), mysqli_error(), mysqli_affected_rows(), mysqli_insert_id()
!->check_ascii() && $stripped_query === false && $value instanceof && !empty($value) && $mysql_errno !== 200679apply_filters(), ->flush(), ->check_ascii(), ->strip_invalid_text_from_query(), ->flush(), ->_do_query(), mysqli_errno(), mysqli_error(), mysqli_affected_rows()
!->check_ascii() && $stripped_query === false && !($value instanceof) && !empty($value) && $mysql_errno !== 2006 && $value instanceof80apply_filters(), ->flush(), ->check_ascii(), ->strip_invalid_text_from_query(), ->flush(), ->_do_query(), mysqli_error(), mysqli_affected_rows(), mysqli_insert_id()
->check_ascii() && $value instanceof && ->check_connection() && !($value instanceof)80–82apply_filters(), ->flush(), ->check_ascii(), ->_do_query(), mysqli_errno(), ->check_connection(), ->_do_query(), __(), mysqli_affected_rows(), mysqli_insert_id()
!->check_ascii() && $stripped_query === false && !($value instanceof) && ->check_connection() && !$query && $value instanceof80–82apply_filters(), ->flush(), ->check_ascii(), ->strip_invalid_text_from_query(), ->flush(), ->_do_query(), ->check_connection(), ->_do_query(), __(), mysqli_fetch_object()
->check_ascii() && $value instanceof && ->check_connection() && !$query81–83apply_filters(), ->flush(), ->check_ascii(), ->_do_query(), mysqli_errno(), ->check_connection(), ->_do_query(), mysqli_error(), mysqli_fetch_object()
!->check_ascii() && $stripped_query === false && $value instanceof && !empty($value) && $mysql_errno !== 2006 && !($value instanceof) && !$query81apply_filters(), ->flush(), ->check_ascii(), ->strip_invalid_text_from_query(), ->flush(), ->_do_query(), mysqli_errno(), __(), mysqli_fetch_object()
!->check_ascii() && $stripped_query === false && $value instanceof && ->check_connection() && !($value instanceof)81–83apply_filters(), ->flush(), ->check_ascii(), ->strip_invalid_text_from_query(), ->flush(), ->_do_query(), mysqli_errno(), ->check_connection(), ->_do_query(), __(), mysqli_affected_rows()
!->check_ascii() && $stripped_query === false && !($value instanceof) && ->check_connection()82–84apply_filters(), ->flush(), ->check_ascii(), ->strip_invalid_text_from_query(), ->flush(), ->_do_query(), ->check_connection(), ->_do_query(), __(), mysqli_affected_rows(), mysqli_insert_id()
->check_ascii() && $value instanceof && ->check_connection()83–85apply_filters(), ->flush(), ->check_ascii(), ->_do_query(), mysqli_errno(), ->check_connection(), ->_do_query(), mysqli_error(), mysqli_affected_rows(), mysqli_insert_id()
!->check_ascii() && $stripped_query === false && !($value instanceof) && ->check_connection() && $value instanceof && !$query83–85apply_filters(), ->flush(), ->check_ascii(), ->strip_invalid_text_from_query(), ->flush(), ->_do_query(), ->check_connection(), ->_do_query(), mysqli_error(), mysqli_fetch_object()
!->check_ascii() && $stripped_query === false && $value instanceof && !empty($value) && $mysql_errno !== 2006 && !($value instanceof)83apply_filters(), ->flush(), ->check_ascii(), ->strip_invalid_text_from_query(), ->flush(), ->_do_query(), mysqli_errno(), __(), mysqli_affected_rows(), mysqli_insert_id()
!->check_ascii() && $stripped_query === false && $value instanceof && !empty($value) && $mysql_errno !== 2006 && !$query84apply_filters(), ->flush(), ->check_ascii(), ->strip_invalid_text_from_query(), ->flush(), ->_do_query(), mysqli_errno(), mysqli_error(), mysqli_fetch_object()
!->check_ascii() && $stripped_query === false && $value instanceof && ->check_connection()84–86apply_filters(), ->flush(), ->check_ascii(), ->strip_invalid_text_from_query(), ->flush(), ->_do_query(), mysqli_errno(), ->check_connection(), ->_do_query(), mysqli_error(), mysqli_affected_rows()
!->check_ascii() && $stripped_query === false && !($value instanceof) && ->check_connection() && $value instanceof85–87apply_filters(), ->flush(), ->check_ascii(), ->strip_invalid_text_from_query(), ->flush(), ->_do_query(), ->check_connection(), ->_do_query(), mysqli_error(), mysqli_affected_rows(), mysqli_insert_id()
!->check_ascii() && $stripped_query === false && $value instanceof && !empty($value) && $mysql_errno !== 200686apply_filters(), ->flush(), ->check_ascii(), ->strip_invalid_text_from_query(), ->flush(), ->_do_query(), mysqli_errno(), mysqli_error(), mysqli_affected_rows(), mysqli_insert_id()
!->check_ascii() && $stripped_query === false && $value instanceof && ->check_connection() && !($value instanceof) && !$query86–88apply_filters(), ->flush(), ->check_ascii(), ->strip_invalid_text_from_query(), ->flush(), ->_do_query(), mysqli_errno(), ->check_connection(), ->_do_query(), __(), mysqli_fetch_object()
!->check_ascii() && $stripped_query === false && $value instanceof && ->check_connection() && !($value instanceof)88–90apply_filters(), ->flush(), ->check_ascii(), ->strip_invalid_text_from_query(), ->flush(), ->_do_query(), mysqli_errno(), ->check_connection(), ->_do_query(), __(), mysqli_affected_rows(), mysqli_insert_id()
!->check_ascii() && $stripped_query === false && $value instanceof && ->check_connection() && !$query89–91apply_filters(), ->flush(), ->check_ascii(), ->strip_invalid_text_from_query(), ->flush(), ->_do_query(), mysqli_errno(), ->check_connection(), ->_do_query(), mysqli_error(), mysqli_fetch_object()
!->check_ascii() && $stripped_query === false && $value instanceof && ->check_connection()91–93apply_filters(), ->flush(), ->check_ascii(), ->strip_invalid_text_from_query(), ->flush(), ->_do_query(), mysqli_errno(), ->check_connection(), ->_do_query(), mysqli_error(), mysqli_affected_rows(), mysqli_insert_id()

Across PHP versions

PHPCompiledExecutedBranchesNotes
8.6-dev1516–9318
8.51516–9318
8.41516–931812 fewer instructions than PHP 8.3
8.31636–10218
8.21636–102181 more instruction than PHP 8.1
8.11626–10218
7.41626–10218

An instruction is not a fixed amount of time, so a matching count is not necessarily the same speed; what it rules out is a difference in the work itself.

Hooks and filters fired · 1

One hook fires while wpdb::query() runs, in this order:

  1. apply_filters( query )filterline 2228 (+16 into the body)

    Filters the database query.

Uses · 9

Used by · 7

Source code

	public function query( $query ) {		if ( ! $this->ready ) {			$this->check_current_query = true;			return false;		} 		/**		 * Filters the database query.		 *		 * Some queries are made before the plugins have been loaded,		 * and thus cannot be filtered with this method.		 *		 * @since 2.1.0		 *		 * @param string $query Database query.		 */		$query = apply_filters( 'query', $query ); 		if ( ! $query ) {			$this->insert_id = 0;			return false;		} 		$this->flush(); 		// Log how the function was called.		$this->func_call = "\$db->query(\"$query\")"; 		// If we're writing to the database, make sure the query will write safely.		if ( $this->check_current_query && ! $this->check_ascii( $query ) ) {			$stripped_query = $this->strip_invalid_text_from_query( $query );			/*			 * strip_invalid_text_from_query() can perform queries, so we need			 * to flush again, just to make sure everything is clear.			 */			$this->flush();			if ( $stripped_query !== $query ) {				$this->insert_id  = 0;				$this->last_query = $query; 				wp_load_translations_early(); 				$this->last_error = __( 'WordPress database error: Could not perform query because it contains invalid data.' ); 				return false;			}		} 		$this->check_current_query = true; 		// Keep track of the last query for debug.		$this->last_query = $query; 		$this->_do_query( $query ); 		// Database server has gone away, try to reconnect.		$mysql_errno = 0; 		if ( $this->dbh instanceof mysqli ) {			$mysql_errno = mysqli_errno( $this->dbh );		} else {			/*			 * $dbh is defined, but isn't a real connection.			 * Something has gone horribly wrong, let's try a reconnect.			 */			$mysql_errno = 2006;		} 		if ( empty( $this->dbh ) || 2006 === $mysql_errno ) {			if ( $this->check_connection() ) {				$this->_do_query( $query );			} else {				$this->insert_id = 0;				return false;			}		} 		// If there is an error then take note of it.		if ( $this->dbh instanceof mysqli ) {			$this->last_error = mysqli_error( $this->dbh );

Changelog

Introduced in 0.71. Unchanged from 6.7.7 through 7.1.0.

  1. 6.7.7
  2. 6.8.8
  3. 6.9.7
  4. 7.0.4
  5. 7.1.0

Signature, return type and hooks compared across 5 parsed releases.

About this page

Parsed data
Generated from the wordpress-develop 7.0.4 tag, from src/wp-includes/class-wpdb.php, and regenerated for each WordPress release so it tracks the code rather than a snapshot of it.
Corrections
Something wrong on this page? Report it and it gets fixed in the next regeneration.