Проблема с топиками

Удалил 2 топика видимо не полностью в phpMyAdmin, самих топиков как таковых нет, выдается ошибка 403
Forbidden, но на главной они все равно отображаться, каким способом теперь их можно удалить до конца? Саму проблему можно пронаблюдать на Ragit.ru (не реклама) при открытии первого поста на главной.

Почему запрос к БД insert возвращает false, но добавляет при этом данные в БД?

Здравствуйте.
Проблема в следующем: добавляю при помощи нижеследующего кода строку в таблицу, функция при этом должна возвращать статус операции — true или false. Путем экспериментов установил, что она всегда возвращает false, но сам запрос на добавление проходит успешно (данные в таблице появляются).
Попытки вывести mysql_error \ mysql_errno ничего не дали (пустая строка и 0 соответственно).

Помогите, пожалуйста, разобраться, с чем это может быть связано?..

Собственно, код метода (в маппере, вызывается из класса):

public function AddTopicForPromote(ModuleTopic_EntityTopic $oTopic, $vPrice, $vAmount) {
		$sql = "INSERT INTO ".Config::Get('db.table.topic_promote_params')." 
			( 
				topic_id,
				promote_price,
				promote_amount,
				status
			) VALUES (?d, ?d, ?d, ?d)";

		if ($this->oDb->query($sql,$oTopic->getId(),$vPrice,$vAmount,0)) {
			return true;
		}
		return false;
	}

Тормозные запросы. Как найти причину?

В общем ситуация следующая: есть сайт LS, всё с ним хорошо, работает быстро и стабильно. Решил я сделать англоязычную версию этого сайта, только на другом домене (да и вообще сайты разделил, так как функционал у разных языковых версий немного отличается). Скопировал я файлы и БД рус. сайта, перенес на другой домен (тот же сервер), поудалял с БД пользователей, начал настраивать и обратил внимание, что периодически очень долго загружаются страницы.
Читать дальше →

Вопрос по обновлению записей в Mysql [РЕШЕНО]

Все привет! я столкнулся с такой проблемой, при обновлении записи в таблице одними и теми же значениями не чего не происходит

Запрос из XXX.mapper.class.php
public function UpdataZtovars($price,$stock,$weight,$id,$name) {
		$sql = "UPDATE " . Config::Get('plugin.zakaz.table.ztovar_sklad')."
		SET
			pricep=?d,
			kolvo=?d,
			weight=?d,	
			name=?
		WHERE
			article=?
		";
		if ($this -> oDb -> query($sql,$price,$stock,$weight,$name,$id)) {
			return true;
		}
		return false;
	}


Читать дальше →

MySQL жрёт память

Народ, никто не сталкивался с такой прикольной проблемой, что MySQL(Percona Server 5.5.33-31.1) зажирает память бесконечно никогда ее не освобождая?

Уже чего только не пробовали — ничерта не помогает…

Лента - отделяем блоги от пользователей

Доброго времени суток!

Копался с livestreet (AltoCMS) и заметил такой глюк, в ленте не показываются посты из закрытых блогов (напрочь), даже если пользователь на них подписан… Не стал разбираться, что там и как должно работать, глянул запрос:

SELECT         
                            t.topic_id                                        
                        FROM 
                            ".Config::Get('db.table.topic')." as t,
                            ".Config::Get('db.table.blog')." as b
                        WHERE 
                            t.topic_publish = 1 
                            AND t.blog_id=b.blog_id 
                            AND b.blog_type!='close' 
                            { AND t.topic_id < ?d }
                            AND ( 1=0 { OR t.blog_id IN (?a) } { OR t.user_id IN (?a) } )                                 
                        ORDER BY t.topic_id DESC    
                        { LIMIT 0, ?d }


Я нашел более изящное решение). Вот мой запрос:

SELECT 		
			    t.topic_id										
		        FROM 
			    ".Config::Get('db.table.topic')." as t,
			    ".Config::Get('db.table.blog')." as b
			WHERE 
			    t.topic_publish = 1 
			    AND t.blog_id=b.blog_id 
			    { AND t.topic_id < ?d }
			    AND ( false 
				{ OR t.blog_id IN (?a) } 
				{ OR (t.user_id IN (?a) AND b.blog_type='personal') }
			    )
 								
                        ORDER BY t.topic_id DESC	
                        { LIMIT 0, ?d }


Теперь стало получше:
— Показываем топики только из блогов на которые подписан пользователь;
— Показываем топики (из персональных блогов) пользователей, на которых подписан пользователь;

Читать дальше →

выбираем наилучшую схему

выбираем наилучшую схему подключения к bd

есть 2ва варианта 1н постарше, другой поновее…
$mysql = new mysqli("хост","пользователь","пароль","название бд")or die('подключится к серваку не удалось');
$mysql-> query("SET NAMES 'UFT8'");
$mysql-> close();


mysql_connect('хост','пользователь','пароль''название бд')or die('подключится к серваку не удалось');
mysql_select_db('shop')or die(mysql_error());


голосуем, выбираем что безопаснее (хотя на мой взгляд защита одинаковая ), комментируем =))

Вывод всех элементов из базы данных.

Всем привет, в программировании я новичок.
Вопрос:
Как вывести все элементы из таблицы в бд используя livestreet framework?
К примеру есть таблица с 2мя полями: ID и VAL.
Количество записей не определено, мне нужно просто вывести список всех записей.
Можете накидать пример отдельного метода маппера?
Пытался использовать mysql_fetch_array. Но как я понял из за dbsimple тут это делается по другому(Возможно легче).

Проблема с редактированием базы данных после спам атаки (решено)

Мой сайт, как и многие другие, этой ночью атаковали волной спама… Решил я его удалить, но не всё так просто оказалось. Пробовал удалять через админку пользователя со всеми топиками сразу но это результатов не дало, выдавало ошибку. Удалять каждый комментарий вручную не представлялось возможным (комментариев больше 120 штук)… И решил я в базу данных влезть, удалить хоть как нибудь. Но так как мои знания в этой области равны практически нулю то я слегка накосячил)

Залез я в таблицу users и удалил оттуда трёх пользователей, от которых шли спам-топики.
В итоге на сайте эти пользователи тоже исчезли… а вот с их топиками всё было сложнее. У двух пользователей стёрлись все топики как и должно быть… а у одного они остались.
Самое непонятное для меня что эти топики видны только когда я авторизуюсь на сайте. когда я не авторизован эти топики не видно… в базе данных в таблице topic этих топиков тоже нет
Прошу помощи…

(Решил проблему очередной чисткой кеша) всем спасибо))

Как сделать склонение числительных функцией mysql (mysql declension function)

UPD: Мне для разового SQL запроса потребовалось получить строки с правильным склонением числительных напрямую из базы данных mysql. Погуглив я не нашел ничего подходящего. Создавать PHP скрипт мне показалось дольше, поэтому было принято решение написать функцию.

Я совсем не рекомендую теперь везде и всегда делать склонение таким образом. В шаблонизаторе LiveStreet есть встроенный механизм declension, рекомендуется пользоваться им.

Прошу воспринимать данный код как пример создания фукции в базе данных MySQL, для тех, кому это интересно. Внимание: использование функций и хранимых процедур может сделать ваш код менее переносимым, менее масштабируемым, более медленным и увеличить нагрузку на СУБД.


Читать дальше →