<ul><li>Root cause: <code>check_has_same_clean_title()</code> in <code>controller/solution/UploadSolution.php</code> line 477 called <code>and_where('solution_list_id != ', $id)</code> — the <code>!=</code> was embedded inside the field name string, causing Sdba to generate invalid SQL: <code>`solution_list_id != ` '7'</code></li><li>Sdba error handler throws uncaught <code>\Exception</code> in production mode → PHP HTTP 500</li><li>Only triggered on <strong>update</strong> (not add), because add passes default <code>$solution_list_id = 0</code> which skips the bad branch</li><li>Fix: replaced <code>->and_where('solution_list_id != ', $id)</code> with <code>->where('solution_list_id', $id, false, false, 'AND', '!=')</code> — uses Sdba's proper operator parameter</li></ul>