$ob->method1("PHP is proud to announce TestFest 2010. TestFest is PHP's annual
campaign to increase the overall code coverage of PHP through PHPT tests. During
TestFest, PHP User Groups and individuals around the world organize local events
where new tests are written and new contributors are introduced to PHP's testing
suite.");
?>
В данном примере методы 3 и 4 не дают желаемого результата, а 3 метод вызывает фатальную ошибку. Как заставить работать 3 и 4 методы? Если их не писать как вложенные то все отлично, но если ситуация требует вложенности?
Не помогает, все равно записывается только часть данных.
Уже давно посоветовал, если что-то не так как хочется при работе в БД, сам запрос выводите на экран - операция займет 2 секунды, но сразу будет видно какие ошибки в запросе. Даже опытным программистам приходится иной раз так поступать не замечая иной раз самые элементарные ошибки.
В бщем вопрос такой, Вы умеете например методом GET получить номер текущей страницы? Потом сколько сообщений должно быть на странице определить? А следом посчитать количество страниц в базе?
Если все это можете то проблем не возникнет. Если не знаете, то конкретно разбирайте поставленые вопросы выше.
Не хочу давать вам готовый свой класс, вам стоит самому научится.
Сама картинка такая:
Когда у нас есть количество страниц в базе и мы хотим например выводить 10 сообщений на страницу, то мы просто количество сообщений делим на 10 и округляем в большую сторону. Получаем так число страниц в навигации.
И далее просто пользуемся оператором for и выводим необходимые ссылки.
Из базы MySQL выведем страницы с помощью команды SELECT , но чтоб нам вывести необходимые собщения для определенной страницы, то нам необходимо использовать LIMIT , а в его параметрах указывать первое число, как: (текущая страница умноженная на количество выводимых страниц и отнимаем количество выводимых страниц (например: текущая страница 2 а выводим по 10 новостей, то получается - ((2*10)-10))=10) - т.е. мы указываем что выводить нужно с 10 позиции, а второй параметр LIMIT - указываем сколько строк выводить т.е. в данном случае 10 .
(Добавление) chaynyk
Тип поля ничего не даст, TEXT - самый универсальный вариант и больше не нужно, тут проблема именно в экранировании (99%) , я обычно если что-то невнимательно делаю и не экранирую символы сам запрос загоняю в переменную и если неудачная запись, я его вывожу и там разбираю в чем проблема. У автора наверняка есть одинарные ковычки - поэтому их нужно экранировать - в том числе этот способ - мера предосторожности в запросах к БД в SQL-инъекциях.
Пример:
А вот пример, как раньше можно было взламывать много сайтов:
При авторизации в логин пишем "admin' or '1'='1'" , в поле пароль что угодно вносишь , а вот проверка логина и пароля в движке вот такая: