So here’s the scenario… A perfectly working Drupal site, without errors suddenly starts spitting out an error:
Unable to save result set in /includes/database.mysql.inc on line 115
With the help of good ol’ Google, I managed to find FISHTRAP who had also experienced the same error…
In both of our cases it involved a subselect returning more than one row, and throwing the error. In my case, this was from a custom built module which (due to client error), ended up with too many results in the subquery. The trick is in ‘tracking’ the problem in order to solve it.
Here is what FISHTRAP suggested…
In the database.mysql.inc file, in the core includes folder, line 115 is: $result = mysql_query($query, $active_db);, beneath it add:
if (false === $result) { var_dump($query); }
I didn’t get this to do a lot, so instead of var_dump($query); I used trigger_error((“\nquery: “. $query), E_USER_WARNING);, and that wrote the query that threw the error, right into the ‘messaage box’, so it was easy to see and track. So the full code including line 115 is:
$result = mysql_query($query, $active_db); if (false === $result) { trigger_error(("\nquery: ". $query), E_USER_WARNING); }
Nice work FISHTRAP!