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:
- $wpdb->get_row() only returns a single row?
- wpdb->insert: do I need to prepare against SQL injection?
- How to parse row results from $wpdb -> get_results
- Why $wpdb->show_errors() and print_error() is showing an output even if the query output is correct?
- what is the way to see the currently executing query in wordpress?
- Fetch array with $wpdb
- How do I check for a duplicate record before inserting using wpdb
- WordPress 4.8.1 uses mysql_connect which doesn’t work with PHP 7
- How to use $wpdb to delete in a custom table
- $wpdb->insert not working in any way
- $wpdb->update multiple rows, like IN in normal SQL
- Matching database content types to PHP types
- Does $wpdb->prepare not create a prepared statement that I can execute multiple times?
- get_results on large datasets
- $wpdb->insert() and Values for Datetime Columns?
- $wpdb->last_error doesn’t show the query on error
- Avoiding “Usage of a direct database call is discouraged”
- dbDelta does not create Table, but returns success
- Theoretical Multi-Server WordPress Setup with Shared Users
- Change post status based on meta value
- wpdb->insert not working
- Saving custom form data into database
- passing variables as parameters to stored procedures via wpdb from php-script
- Get data from database table by post_id to get data from second database table
- wp-content/db.php : where is this file?
- Quotes in table name
- 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
- Speed optimization of $wpdb->get_results
- How do I create a single.php for a specific category?
- $wpdb prepared with search term
- WPDB->insert with special characters
- What does wp_update_post() do that the $wpdb class does not?
- How Can I Use $wpdb in PayPal IPN file?
- $wpdb is get_results escaped
- $wpdb->query() multiple query support
- wpdb-> not adding prefix to custom table
- Is there a (better) way to access $wpdb results?
- Using $wpdb generates DB error
- WordPress insert NOW() in TIMESTAMP column returns all zeros
- How do you use prepare when asking for a list of id’s
- Set media metadata (i.e. “dimensions” field) on SVG file after extracting it with a filter
- $wpdb prepare issue with mysql DATE_FORMAT
- How-To: wpdb Insert Record With Date
- $wpdb->prepare not working with update table prefix
- How to use prepare to query with variables
- Use $wpdb in wordpress theme files
- How to pass NULL in where array for $wpdb->update
- how to execute different sql query in non-sanitized $wpdb->get_results function
- $wpdb not returning data
- Get random row from custom table
- How to get top 10 user is based on user meta value
- $wpdb Query Result not coming but in phpmyadmin it works [closed]
- WPDB update row with != in where clause
- store custom WP table names in a global variable
- wpdb prepare: passing varible number of fields as second argument
- $wpdb insert array
- I am not understandinhg $wpdb->prepare correctly
- Wpdb query for comment meta for current post
- How to update records using $wpdb?
- 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?
- XOR functionality for meta_query
- How to email user after inserting the username in database in WordPress
- $wpdb->replace / Replace or update primary key
- Join inside a wpdb query.. confused!
- Create an array with a string key from wpdb->get_results
- How to fetch an array in $wpdb?
- $wpdb – do you have to use foreach even if there will always only be one result?
- How to Modify this $wpdb query to accept an array of post statuses
- Replicating the WP_Query ‘s’ param with $wpdb
- Why doesn’t my insert query work?
- Need help writing a $wpdb query
- How to prevent $wpdb->prepare stripping a leading zero in variable value?
- Generate a unique hash/number for tracking on $wpdb insert
- get the number of queries made on a page(inside my plugin)
- Doing a loop with multiple DBs simultaneoulsy
- Using WPDB class
- show badge with count for pending items in custom post type
- WPDB Update using Conditional Arrays
- $wpdb->insert query changes to SHOW COLUMNS query Output
- How can I migrate mysql_fetch_array to $wbpdb?
- $wpdb->get_results returns empty but value exists
- Fixing wpdb->get_results and wpdb->prepare?
- How does the WXR file differ from the WPDB?
- WP Sql query multiple where clause
- Problem displaying inserted form
- What is _transient_random_seed for?
- WordPress SQL query – returning ‘true’ ‘false’ or ‘null’
- wpdb->insert and stripslashes against sql injection
- Get published posts and pages?
- Rolling Back from current WordPress version to previous one
- create drop down menu in theme customizer from custom db
- Modify the structure of data returned by $wpdb
- Are there risks associated with using wp_options table using wpdb to update theme options
- wpdb get_results() and prepare when to use prepare?