Имена участников (разделяйте запятой).
а с чего ты взял что у тебя чистенько и оптимальненько? если у тебя отрабатывает бизнес-логика в контроллере, то как ты собираешься её, например...
`infoProduct`.`nameDB` ='razmer_kanala' `infoProduct`.`nameDB` ='tip_vozduh' в нашей вселенной, непустое поле в таблице неможет быть равно одному...
у тебя к проекту есть такая документация? если нет то ты и есть тот самый "плохой человек". ибо то что творится у тебя в коде - это уже не MVC
jsPDF, pdfmake.. их щас море
нет ничего опасного в том чтобы передать логин и пароль в конструктор объекта. хранить настройки надо не "зашитыми" в класс, а в отдельном файле -...
парсинг сторонних сайтов широко используется не только спамерами и хакерами. например надо экспортировать какието данные с сайта поставщиков,...
передавайте параметры подключения в конструктор, и нет проблем.
это лишнее. откройте документацию по PDO и посмотрите примеры кода. плейсхолдеры помогут. и ненадо будет ручками эскейпить
можно и так. а можно много проверок разных добавить. и если хоть на одной из них условие сработает - значит с данными чтото не то, и поднимаем...
@Gsmnet в том месте где скачивается страница с внешнего сайта, проверять что пришло. если пусто, или нет необходимых для парсинга элементов,...
первое заблуждение. постоянные есть конечно, но с чего ты взял что им доверяют? тогда их нужно както идентифицировать каждый раз? паспорт...
да. хорошее решение, в данном случае
странно, по логике вроде должно работать. но можно чуть проще $content = preg_replace_callback('/dataList\[\d+\]/', function ($m) { static...
все просто. я ответил на вопрос ТСа. ты ниже даешь свой, типа более правильный, наверное. и вот мне интересно, ты правда считаешь что правильнее...
@MouseZver ты в своих проектах также делаешь?
SELECT * FROM Articles WHERE cat_id IN(1);
Да.
браузер непоказывает дальше, ибо думает что там тег какой-то непонятный. посмотри исходный код страницы.
SELECT tab1.*, tab2.* FROM tab1 LEFT JOIN tab2 ON tab2.name=tab1.name ORDER BY tab1.name ASC
нет. userExist() будет выполняться асинхронно от внешнего кода, и займет какое-то время. поэтому возвращать нужно промис. а уже когда данные...