Как я понял по вашим словам если я создавал поля как права, мне надо будет создавать записи, т.е. елси запись права есть у пользователя тогда дать ему доступ... как-то так...?
Да, как-то так.
Или пользователю, или группе, или и тому и другому и можно без масла
Или можно набор прав как битовую маску в UINT хранить... и при обращении - побитовые операции использовать.
Gerd, как уже написали чуть выше: "Вы уверены, что в ячейке записано именно три тысячи, а не три ровно с тремя десятичными нолями?"
Ну а если дело не в формате ячейки... то, посмотрите приложенный файл.
Там почти все описано.
Например, можно получить 'calculated' знечение ячейки, можно - 'formatted'...
Мелкий, вот к чему приводит потакание собственной лени... Нет, чтоб лишний раз заглянуть в описание метода... так дал волю ручкам... дополнение настучать..
Pavel8897, для начала проверьте настройки сопоставления кодировок для Вашей схемы:
SELECT * FROM information_schema.SCHEMATA WHERE schema_name = 'DB_NAME';
Затем посмотрите, что в настройках сервера БД:
show variables like 'char%';
Ну и ещё, конечно, можно ознакомиться со следующими статьями: Кодировка, кракозяблы (почему-то я всегда это слово через 'р' после 'б' писал... )
и, например, Корректная настройка MySQL для работы с UTF8 (Добавление)
А ещё есть utf8mb4... Но это не Ваш случай
Но вопрос в том что у меня много страниц и функции и все загонять в таблиц roles виде полей не приятно...
На этот случай есть связь "многие-ко-многим". Иными словами - "таблица связей".
Ведь используете roles_users. Тут ведь тоже не одна роль у пользователя, как и не один пользователь у роли может быть.
А ещё права можно не только группе давать, но и пользователю.
Отсюда - ещё одна таблица соответствия пользователей правам доступа.
Time3250, приведенная функция проверяет, есть ли записи в таблице confessions для ip-адреса, появившиеся не раньше суток назад.
Возвращает количество найденных записей.
Можно предположить, что скрипт (метод, функция...) где вызывается приведенная функция в зависимости от значения, равного нулю, или не равного нулю выполняет то, или иное действие.
Так что попробуйте в этой функции вместо всего кода два варианта: return 0; или return 1; (Добавление)
Вот только к чему 'si' в bind_param?
Огромная просьба: замените, пожалуйста, хотя-бы во фразе при переходе по внешней ссылке: "Для продолжения кликните здесь, если же Вы передумали, то закройте это окно" словосочетание "кликните здесь"...
Можно, например, перестроить фразу так: "Можете продолжить, или закрыть это окно"
Соответственно, "продолжить" и "закрыть" - сслыки...
Добрый день!Есть модуль пользователя (таблица users) и резюме (таблица resume) отношение один к одному.С точки зрения архитектуры лучше сделать $user->getResume($user_id) или $resume->getByUserId($user_id).Ключ user_id храниться в таблице resume
Оба варианта.
К тому-же, с точки зрения предметной области актуальна связь один (user) ко многим (резюме)... Соискатель может быть заинтересован в том, чтобы для разных видов деятельности составлять отличающиеся друг от друга резюме... (Добавление)
Соответственно, если 1:n - то в первом случае метод возвращает коллекцию (множество)...
Нуб-2
В 10 строке - "обновляю данные", а в 11-й: INSERT. Непорядок.
Для случая вставки новой записи (<1) проверьте $affectedRows. Можно использовать PDOException (если уж не смотрите логи, которые веб-сервер пишет) для уточнения проблемы в случае ошибок при записи в базу.
Да тут дело не в кол-ве секунд, а в начале отсчета.
Ну так и задавайте время начала не в первой ветке, где выставляете 1.
Разделите верку, где проверяете на >= 2. Ту часть, где будете сравнивать с двумя - сделайте альтернативной веткой сравнения с 0/false/null (эту проверку, кстати, лучше доверить функции isset(), тогда инициализировать значение можно будет нулем, или empty(), если уж начинать с 1). Значение с индексом vtime инициализируем именно в этой ветке.
Далее - проверка существования значения с индексом v_time. И только если она успешна - проверяем длительность и, если уже можно (тут проверка длительности текущего запрета), то - сбросить значения v_time и vzlom.
В альтернативной ветке (не той, где проверили длительность, а той, где проверяли существование v_time) - вычисляете оставшееся время и отображаете его.
Как-то так.
Нарисуйте блок-схему - станет проще
Может, найдете как оптимизировать процесс...