Оказывается, действительно эта функция ведет себя не интуитивно при использовании +1/-1 months в некоторых случаях, вот здесь описывается как решить проблему
Так все таки - что лучше использовать bindValue или bindParam?
Пишут, что в некоторых бд переменные, которые были переданы через bindParam, используются как для отправки данных на бд, так и для получения. В таком случае нужно использовать только bindParam. Во всех остальных случаях, как видится, не принципиально какой из этих методов вы используете. Берите тот метод, который вам больше нравится и удобен ;)
1. В вашем случае не принципиально, мне кажется. Вы ожидаете, что, если собрать в одной таблице все новости, то там будет очень много записей и база не справится с этим?
2. Вы собираетесь хранить фотографии в базе? Не лучшая идея. Если на каждую запись приходится по одной фотографии - то сохраняйте как файл, давая ему имя равное id записи.
Этот вариант мне подходит. Так как поместить значения в переменную?
Эта переменная должна быть жива от вызова к вызова скрипта, как я понимаю. Поэтому вы ее по-любому должны передавать. Если же ваша страница полностью не обновляется, то эту переменную можно просто хранить в js переменной и передавать через ajax php скрипту. Ну а если все таки страница полностью перезагружается, то вам придется ее передавать или через GET, POST или COOKIE.
Конечно, можно поизвращаться с хранением в файле, бд, local storage, но я не желаю участвовать в мазохизме ))