The Problems
You risk SQL injection, with your current setup:
$wpdb->users.display_name LIKE '$ltr%'
The following could also be a problematic part in your SQL query:
AND $wpdb->usermeta.meta_value = %artist%
i.e. using =
instead of LIKE
.
You’re also missing the quotes: %\"artist\"%
, to exclude e.g. bartist
or fartist
😉
But you don’t need to construct this SQL query by hand.
Better Alternatives
You could use the WP_User_Query
class:
$users = new WP_User_Query( [ 'role' => 'artist' ] );
or it’s get_users()
wrapper instead:
$users = get_users( [ 'role' => 'artist' ] );
It will generate the SQL query for you, with the INNER JOIN
.
Related Posts:
- What does the $posts_join filter join to?
- What is a stored procedure?
- Unknown column in ‘field list’ error on MySQL Update query
- SQL Inner-join with 3 tables?
- Conversion failed when converting date and/or time from character string while inserting datetime
- MySQL create table if not exists and insert record only if table was created
- error, string or binary data would be truncated when trying to insert
- How can I do an UPDATE statement with JOIN in SQL Server?
- ORA-00907: missing right parenthesis
- Rename column SQL Server 2008
- Why do we need “Relationships” between tables at all?
- Using group by on multiple columns
- How to declare a variable in MySQL?
- ORA-01843 not a valid month- Comparing Dates
- Drop a temporary table if it exists
- How do I escape a single quote in SQL Server?
- ORA-00918: column ambiguously defined in SELECT *
- Teradata: how to convert varchar value (format ‘dd.mm.yyyy’) to date (format ‘yyyy-mm-dd’ )?
- How Stuff and ‘For Xml Path’ work in SQL Server?
- Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’ (2)
- Oracle SELECT TOP 10 records
- must appear in the GROUP BY clause or be used in an aggregate function
- How can I return pivot table output in MySQL?
- Compare dates in MySQL
- Best way to do nested case statement logic in SQL Server
- The multi-part identifier could not be bound
- MySQL syntax for Join Update
- Get day of week in SQL Server 2005/2008
- SQLite – UPSERT *not* INSERT or REPLACE
- how to drop partition without dropping data in MySQL?
- Simple way to calculate median with MySQL
- The ALTER TABLE statement conflicted with the FOREIGN KEY constraint
- Error 1046 No database Selected, how to resolve?
- What is it exactly a BLOB in a DBMS context
- How do I do multiple CASE WHEN conditions using SQL Server 2008?
- Insert text with single quotes in PostgreSQL
- SQL Server IF NOT EXISTS Usage?
- How to insert date values into table
- Arithmetic overflow error converting numeric to data type numeric
- I want to use CASE statement to update some records in sql server 2005
- Simulate CREATE DATABASE IF NOT EXISTS for PostgreSQL?
- Postgresql tables exists, but getting “relation does not exist” when querying
- SELECT DISTINCT on one column
- how to remove time from datetime
- TSQL PIVOT MULTIPLE COLUMNS
- MySQL – UPDATE multiple rows with different values in one query
- How to create a MySQL hierarchical recursive query?
- Microsoft OLE DB Provider for SQL Server error ‘80004005’
- Query to convert from datetime to date mysql
- SQL Parentheses use in an OR clause
- Is it possible to GROUP BY multiple columns using MySQL?
- How to query MongoDB with “like”
- Equivalent of Oracle’s RowID in SQL Server
- Subtract one day from datetime
- MySQL equivalent of DECODE function in Oracle
- what is the difference between triggers, assertions and checks (in database)
- Replacing NULL with 0 in a SQL server query
- How to delete from multiple tables in MySQL?
- How to copy a row and insert in same table with a autoincrement field in MySQL?
- Backup a single table with its data from a database in sql server 2008
- Error converting data type varchar
- updating table rows in postgres using subquery
- Temporary table in SQL server causing ‘ There is already an object named’ error
- I want to use CASE statement to update some records in sql server 2005
- Cannot create an instance of OLE DB provider Microsoft.Jet.OLEDB.4.0 for linked server null
- ORDER BY items must appear in the select list if SELECT DISTINCT is specified
- ROW_NUMBER() in MySQ
- Foreign key references invalid table
- Is there a coalesce-like function in Excel?
- What are database constraints?
- Postgresql column reference “id” is ambiguous
- Inner Joining three tables
- Sqlite: CURRENT_TIMESTAMP is in GMT, not the timezone of the machine
- How do I view the Explain Plan in Oracle Sql developer?
- ORA-01779: cannot modify a column which maps to a non key-preserved table
- SUM OVER PARTITION BY
- MySQL LIKE IN()?
- Filter data based on date in sql
- Varchar invalid for Sum operator
- SQL: How to properly check if a record exists
- ora-06553 pls-306 wrong number or types of arguments in call to ‘ogc_x’
- SQL query to extract only the “current” wp_posts?
- Sorting search results by taxonomy terms
- SQL select of users by metadata
- How to properly sanitize strings without $wpdb->prepare?
- How to retrieve sticky post in raw sql?
- How to remove in the wordpress database all posts revisions except the last three?
- Backticks (`) Instead of Single Quotes (‘) in an SQL Statement?
- $wpdb get_var issue
- posts_where Fails with More than One Custom Field in Query
- Inserting rows into a custom table, when plugin is activated
- WordPress database error: You have an error in your SQL syntax
- Restose content from revisions – sql query
- Posts modified in the last 48 hours
- post id not displaying
- How to export 2 week’s worth of posts
- Insert multiple checkbox values
- How to get EVENT based on startday, using BETWEEN
- wpdb prepare without placeholder
- Adding profile data to database