I've encountered a strange issue where my MySQL query works for all cases except for one particular data entry.
Here's my query:
SELECT * FROM wp_songs WHERE album_name = '{$current_album}'
This query is fed into the Wordpress $wpdb->get_results() function. For some reason it can never find this particular data entry: "Raw & Uncut: The Mixtape"
However, if the query is instead changed to:
SELECT * FROM wp_songs WHERE album_name = 'Raw & Uncut: The Mixtape'
The data is found without a problem.
Running the $wpdb->last_query function returns the exact same line in both cases.
The issue is only for one data entry. I have not been able to replicate the problem with other data entries. All other entries work with my original query.
More code:
This does not work:
$current_album = "Raw & Uncut: The Mixtape";
$songs = $wpdb->get_results("SELECT * FROM wp_songs WHERE album_name = '{$current_album}'")
if ( $songs ) { echo "Works"; }
This works:
$songs = $wpdb->get_results("SELECT * FROM wp_songs WHERE album_name = 'Raw & Uncut: The Mixtape'");
if ( $songs ) { echo "Works"; }
Again, it's only for that specific data entry. Every other entry works with both queries.
Running var_dump($current_album) returns:
string(28) "Raw & Uncut: The Mixtape"
SELECT * FROM wp_songs WHERE album_name LIKE '".$search."%'