Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности

Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
04.05.2018, 23:58
|
|||
|---|---|---|---|
|
|||
Ошибка в обработки данных или в базе? |
|||
|
#18+
Приветствую! Одна и та же ошибка возникает при добавлении записей в гостевую книгу ("Ошибка при добавлении записи!") и при попытке зарегистрироваться. Код - почти один и тот же. Создаю БД CREATE TABLE `mysite-local`.`guestbook` ( `id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT , `name` VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL , `comment` TEXT CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL , PRIMARY KEY (`id`)) ENGINE = MyISAM CHARSET=utf8 COLLATE utf8_general_ci; В phpMyAdmin - "MySQL вернула пустой результат (т.е. ноль строк). (Запрос занял 0.0005 сек.)" Open Server в MySQL менеджере- "key index 'индеx 1" does not contain any column" Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. guestbook.php (blocks) Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. guestbook.php (core) Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. alert.php Код: php 1. 2. 3. 4. guestbook_comment.php Код: php 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
05.05.2018, 00:50
|
|||
|---|---|---|---|
Ошибка в обработки данных или в базе? |
|||
|
#18+
SilverSkyОдна и та же ошибка возникает при добавлении записей в гостевую книгу ("Ошибка при добавлении записи!")Откройте для себя $mysqli->error http://php.net/manual/ru/mysqli.error.php и наслаждайтесь чтением настоящих сообщений об ошибках. И ещё одну полезную функцию для текстовых данных в запросах: http://php.net/manual/ru/mysqli.real-escape-string.php В остальном код довольно странный. Явный перебор с использованием функций по каждому чиху. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
05.05.2018, 15:01
|
|||
|---|---|---|---|
|
|||
Ошибка в обработки данных или в базе? |
|||
|
#18+
vkle, авторОткройте для себя $mysqli->error спасибо за ссылки, мне помогло Код: php 1. 2. авторВ остальном код довольно странный. Явный перебор с использованием функций по каждому чиху. предложите свой вариант? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
06.05.2018, 01:04
|
|||
|---|---|---|---|
Ошибка в обработки данных или в базе? |
|||
|
#18+
Свой вариант? Могу и два и три предложить в зависимости от ожидаемой сложности приложения. Однако, не стесняйтесь изучать чужой код. Коротенько по Вашему коду. В простейшем случае не вижу необходимости маскировать простейший же SQL-запрос за функцией. Не вижу смысла в каждой функции открывать соединение с БД (это долго) и, особенно, закрывать его. На одном соединении можно выполнять множество запросов. В начале каждого вызываемого скрипта, который работает с БД, require_once "файл с коннектом" и вот уже $mysqli с проинициализированным коннектом имеется. Не забываем так же мух отделить от котлет - настройки (хост/логин/пароль/база) отдельно, исполняемый код отдельно. Когда настроек будет десятки - поди ж найди, где еще этот чертов имейл администратора прописан. Далее, так как кроме маскировки Ваши функции ничего не делают, запросы к БД можно легко выполнить "как есть" непосредственно из кода вызываемого скрипта. Для простейших приложений оно реально проще, чем такой вот огород с функциями. Кроме того, такие лисапеды, как Ваша функция resultSetToArray() давно уже изобретены: http://php.net/manual/ru/mysqli-result.fetch-array.php Тем не менее, для сложного приложения, когда в коде вызываемого скрипта желательно сосредоточиться на бизнес-логике, спровадив на сторону чисто техническую работу, есть смысл в таких функциях, как "записать объект или хеш (точнее, значения их элементов) в таблицу" или "получить по заданному SQL-запросу объект" или "получить по SQL-запросу хеш, указав имя поля, используемого в качестве ключа" или получить массивы объектов/хешей и т.п. Разумеется, экранирование данных, передаваемых непосредственно в запрос, должно выполняться где-то внутри этих функций (или, возможно, на более глубоком уровне абстракции). В более сложном варианте так же есть смысл упихать функционал в классы, ориентированные по сущностям (пользователи, статьи, гостевая и т.д.) и действиям (создать новый элемент сущности, получить конкретный элемент, получить элементы с учетом фильтра, сохранить изменения элемента, опубликовать, заблокировать, изменить порядок сортировки и т.п.). Класс для работы с БД в таком случае - это тоже отдельная песня. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=47&tablet=1&tid=1829868]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
34ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
47ms |
get tp. blocked users: |
2ms |
| others: | 232ms |
| total: | 364ms |

| 0 / 0 |
