1. error_reporting(E_ALL & ~E_NOTICE); // включается вывод всех ошибок, кроме E_NOTICE
Использовать ini_set('display_errors', 1); // включает показ ошибок
2. Да, только так вы еще ошибки E_NOTICE будете получать
3. Одно из преимуществ mysqli в том, что в нем есть ООП стиль (инетерейс) + он работает быстрее mysql
4. mysql_fetch_array при указании второго параметра может возвращать ассоциативный или численный массив, без него - объединенный
mysql_fetch_assoc и mysql_fetch_num возвращает только один тип массива
5. echo '', print_r($res_arr,true), ''; - это вообще ГК, можно просто print_r($res_arr); - выводит массив в виде строки, но если указать второй паремтр true - функция вернет результат, а не выведет.