Yes, they’re normal. They were added in 4.8.3 to fix an SQL injection vulnerability.
You can read an article describing the technical reasons for this happening here and the ticket for the change here.
The placeholder characters are replaced by the random characters on the last line of $wpdb->prepare()
with the $wpdb->add_placeholder_escape()
function, which calls $wpdb->placeholder_escape()
internally.
These placeholders are removed in $wpdb->query()
by the $wpdb->remove_placeholder_escape()
function which is added as a filter to the query
hook.
Related Posts:
- what is the way to see the currently executing query in wordpress?
- WordPress 4.8.1 uses mysql_connect which doesn’t work with PHP 7
- How to use $wpdb to delete in a custom table
- Matching database content types to PHP types
- Does $wpdb->prepare not create a prepared statement that I can execute multiple times?
- Saving custom form data into database
- Get data from database table by post_id to get data from second database table
- wp-content/db.php : where is this file?
- Delete/replace img tags in post content for auto published posts [closed]
- $wpdb sql help. Select post id and post meta value based on 2 other post_meta values
- $wpdb->get_results() returns good result only in first foreach iteration
- $wpdb->insert – inserting multiple rows
- $wpdb prepared with search term
- WPDB->insert with special characters
- wpdb-> not adding prefix to custom table
- Is there a (better) way to access $wpdb results?
- $wpdb->prepare not working with update table prefix
- How to use prepare to query with variables
- Use $wpdb in wordpress theme files
- wpdb->get_row() / get_results – is it possible to return an object instances of my own class?
- Problem in creating table through plugin code
- I want to update my postcontent with $wpdb
- How to save html and text in the database?
- $wpdb->replace / Replace or update primary key
- Create an array with a string key from wpdb->get_results
- $wpdb – do you have to use foreach even if there will always only be one result?
- Replicating the WP_Query ‘s’ param with $wpdb
- Need help writing a $wpdb query
- get the number of queries made on a page(inside my plugin)
- Doing a loop with multiple DBs simultaneoulsy
- $wpdb->insert query changes to SHOW COLUMNS query Output
- Fixing wpdb->get_results and wpdb->prepare?
- How does the WXR file differ from the WPDB?
- WordPress SQL query – returning ‘true’ ‘false’ or ‘null’
- Modify the structure of data returned by $wpdb
- WPDB If primary key already exists, add +1 to integer field
- How to get an array of user roles with or without a specific capability?
- What is wrong with this wpdb update?
- Programmatically Creating Page using $wpdb and getting 404 error
- Return XML of Post Metadata
- Constructing a dynamic WPDB query with multiple LIKEs
- Problem in inserting row to custom database table
- sanitize_text_field and apostrophe problem
- $wpdb->prepare with ON DUPLICATE KEY UPDATE
- 301 Redirect Code
- wpdb updating record in wordpress with json adds extra array elements
- Counting posts with argument without retrieving the posts
- $wpdb->insert inserting only f character in custom table
- AWS Bitnami WordPress – SELECT command denied to user
- Why does wpdb->update delete other meta?
- Increment integer field in database when WHERE needs to be dynamic [closed]
- Getting variable from Database
- Create new database through static page code
- Custom $wpdb returns unexpected time based results
- $wpdb->prepare was called incorrectly when inserting multiple records
- WordPress “wpdb->update” – Append Text Value
- Need help converting get_user_meta [keys] into own array
- Can’t call WPDB inside RSS template
- Save sql file after doing insert wpdb
- Can I use wpdb to insert query results into a post?
- $wpdb->prepare error after WordPress update [duplicate]
- $wpdb->get_var next var?
- How do I modify this wpdb query to include posts that have a post_status of publish and draft?
- Query and get meta as object(stdClass) on wp postmeta table?
- How do I query a table?
- check that the data exists before sending it to wpdb
- Can’t find out why dbDelta dosen’t create my table
- How to pass an input value into wpdb->Prepare
- no result returns when using $wpdb->get_results with where clause
- SQL queries to another wordpress site
- PHP | left join avg query give me Array()
- update not working using wpdb
- get_posts() SQL Injection
- og:image functions.php
- wpdb replace returning 1 where delete and insert is expected
- wpdb discards duplicate column names?
- update_post_meta not working in template_redirect action
- How to work with constraints on wordpress user metadata?
- $wpdb select returns empty array
- Show error messages to a user when database insert fails
- Intermittent problem writing update_user_meta
- How to use WHERE NOT EXISTS query to avoid duplicate entry using $wpdb to save in custom table?
- Combine posts and postmeta
- Get 3 row ID’s via ARRAY_A
- Getting record from three wpdb tables
- wpdb insert working in one function, but not another
- WPDB Prepared Delete
- wp_commentdata: error in documentation?
- Echo only gives me the first part of string
- wpdb select from using array as search parameters
- esc_sql inserting weird chars to DB
- Retriving array size from serialized data
- How to update user profile or inputing any data to the wp db from external site?
- Can’t get expected result from a wpdb query
- Get comments after specific date
- selecting row using wpdb which contain special symbols
- Query Problem in Clustom Plugin
- How does $wpdb->get_var work with offset?
- WP Recommended Table Exclusions?
- $wpdb->prepare UPDATE process not work in functions.php