помимо всего прочего, рекомендую заглянуть на эту страницу документации php.net/manual/ru/function.mysql-query.php
и после этого подумать о том, насколько адекватен тот видеокурс, по которому ты сейчас учишься.
Игорь, Ну так ты определись, есть у тебя редирект после успешной отправки, или нету. Судя по вопросу - у тебя не было никакого редиректа, иначе данные в базу повторно не добавлялись. А сейчас он у тебя вдруг откуда-то взялся.
два замечания.
1. вместо громоздкого $arr[] = $_REQUEST['data']; можно сразу писать Class::preExec($sql, [$_REQUEST['data']], $db);
2. Статическая функция, которая принимает параметром соединение с БД выглядит как-то странно. Откуда-то ведь соединение берется? Почему бы данную функцию не добавить туда, откуда берется соединение, чтобы оно уже присутствало в объекте и его не нудно было передавать?
Я действительно, если пользоваться твоей терминологией, "гений": ты учишься делать первые шаги в программировании по моим статьям, многие из которых написаны еще тогда, когда ты пешком под стол ходил.
И я обычно с удовольствием помогаю новичкам, разбирая ошибки в их коде.
Но. Тебе следует научиться тому, как правильно общаться с людьми. Обращение вида "ну, гений, блесни умом" уместно в разговоре с приятелем в подворотне. Пытаясь же таким образом получить безвозмездную помощь от незнакомого человека, ты в лучшем случае получишь в ответ недоуменное пожатие плечами.
И, строго говоря, читать надо не только текст ошибки, но и строку на которую она указывает. поскльку дело не в $login, а в $f_row (и общей бессмысленности кода)
Этот вариант функции FetchRow такой же бессмысленный, как и предыдущий. Функция с таким названием должна возвращать row, то есть строку, а не единственное значение. Я уважаю твое упорство в написании класса для работы с бд обладая нулевыми знаниями как в классах,так и в бд, но вот упорство в игнорировании ответов, которые тебе пишут - это не то чем тебе стоит гордиться.
Да читал он эту статью, судя по коду. Только она ему не помогает абсолютно. Потому что его метод программирования - написать наугад несколько операторов в случайном порядке, а потом идти на Тостер спрашивать, что с ними не так.
А можно попросить переписать код класса на что-нибудь более осмысленное? Я понимаю, что это набросок, но он вызывает сильные сомнения в необходимости существования такого класса в принципе.
Какой смысл в "проверке file_exist"? ну допустим мы получим false. И что теперь - не использовать базу данных?
По какому конкретно "стандарту PSR запрещено писать код вне класса"?
ошибка Failed opening required может иметь несколько причин, каждую из которых РНР описывает подробно и в красках. Продолжай строить из себя обиженного гения.
На самом деле вся помощь будет в этой статье. Я ее сейчас просмотрел по-быстрому, похоже что это как раз ответы на все твои вопросы, прямо в точку. Тут и МВЦ, и разделение кода и данных, и фреймворк и даже пример как раз блога! только что комментариев нет, но с ними ты уже разобрался.
У меня нет серьезных публичных репозиториев. Я уже давно не писал ничего с нуля, только на основе фреймворка. И то что я пишу сейчас на работе - это код на основе Симфони, то есть без понимания фреймворка его тоже не поймешь.
php.net/manual/ru/function.mysql-query.php
и после этого подумать о том, насколько адекватен тот видеокурс, по которому ты сейчас учишься.