Да нет особо ничего только собственная БД и опыт. Тот же sql-ex.ru неплохо тестирует, но объяснений нормальных для новичков там нет. Нет подсказок, только краткая инструкция. Иногда (у меня такое было) запрос прошёл, результат верный, но сайт сказал что на дополнительной базе проверка не прошла. Что конкретно там не прошло, в чём ошибка - ничего толкового не говорит.
Так он выводит по id а id это обычно первичный ключ, а значит он может быть только 1 в БД. Если у вас 2 одинаковых id в БД значит в ней что-то не так...
Если вы используете эту функцию для построения SQL запросов, настоятельно рекомендуется пользоваться методом PDO::prepare() для подготовки запроса с псевдопеременными вместо использования PDO::quote()
Да у меня и 300к визитов в день из одной базы брал и нормально всё.
Если серверу не хватает ресурсов для работы с одной БД ему и для работы с двумя не хватит )) Фигню вы придумали если честно...
Ошибка какая-то думаю связано с типом поля. На неуникальное поле не даст поставить уникальный индекс и наоборот когда уже есть индекс, не даст записать в поле. Или записи на самом деле не уникальные из-за кодировки и т.п. Очистите таблицу сначала поставьте индекс, потом заносите данные.
Ответ на ваш вопрос такой: можно только от самой примитивной атаки на примитивном уровне.
Правильный ответ: нет, нельзя. Для защиты от более сильных атак меняют конфигурацию сервера а не php. Например можно хитрым образом настроить iptables (запретить диапазоны ip или выставить интервалы)