Столкнувшись с аналогичной проблемой долго пользовалась костылем из комментария zvirusz. Но недавно наткнулась на информацию о
PDO. PDO позволяет:
1) Легко менять платформу SQL при использовании совместимых запросов;
2) Использовать prepared statements
3) Получать ассоциированный массив без костылей при помощи PDO::FETCH_ASSOC
Код получается что-то вроде
$stmt = $db->prepare("SELECT * FROM foo WHERE a = ?");
$stmt->execute(array($a));
$result = $stmt->fetchAll(PDO::FETCH_ASSOC);
Собираюсь переводить свой проект на PDO, возможно и вам стоит глянуть в эту сторону, пока не завязли с MySQLi.