Omdat MySQL uw query foutloos heeft uitgevoerd. Alleen omdat je de verkeerde zoekopdracht hebt geschreven, mag dit niet betekenen dat de zoekopdracht zo fout is dat MySQL deze niet accepteert.
Wanneer u programmatisch SQL-query's genereert, moet u controleren (door foutopsporing of zelfs betere unit-tests), dat de query goed is gemaakt voor wat u wilt doen.
Als u elke keer dat er een fout optreedt een uitzondering wilt krijgen, schakelt u dat in:
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);