Никак не пойму почему при смене\удалении статуса он меняется у всех.
вот код
if(mysql_query("UPDATE `users` SET `status` = '$status' WHERE `id` = '$user_id'"))
functions::locate('/users/profile.php', 'Статус обновлен.');
else
functions::locate('/users/profile.php', 'Произошла ошибка при обновлении статуса.');
Подскажите где я накосячил.
~XeOn~, Попробуй LIMIT 1 поставить
UPDATE `users` SET `status` = '$status' WHERE `id` = '$user_id' LIMIT 1
~XeOn~ (01.11.2012 / 21:46)
Никак не пойму почему при смене\удалении статуса он меняется у всех.
вот код
[php]
if(mysql_query("UPDATE `users` SET `status` = '$status' WHERE `id` = '$user_id'"))
functions::locate('/users/pro
а $user_id точно правильная переменная?
valik619, Лимит не по феншую. Этот запрос и так должен работать, но что-то не хочет.
Gaucer (01.11.2012 / 21:57)
а $user_id точно правильная переменная?
Как она может быть неправильной? гг. Это переменная ждона с айди текущего юзера.
~XeOn~, все равно проверь лучше что в ней может перезаписалось где
~XeOn~, ну я тогда
может быть еще где нибудь запрос на апдейт/делит есть?
Screamer, Вот весь файл
<?php
/**
* @author Folour aka XeOn (SkyFire)
* @copyright Folour Technologies, 2012
*/
define('_IN_JOHNCMS', 1);
require '../incfiles/core.php';
if((!isset($_POST['status']) && !isset($_GET['clear'])) || !$user_id)
exit;
if(isset($_GET['clear'])) {
if(mysql_query("UPDATE `users` SET `status` = '' WHERE `id` = '$user_id'"))
functions::locate('/users/profile.php', 'Статус очищен.');
else
functions::locate('/users/profile.php', 'Произошла ошибка при очистке статуса.');
}
$status = mysql_real_escape_string(trim($_POST['status']));
if(mb_strlen($status) < 10 || mb_strlen($status) > 200)
functions::locate('/users/profile.php', 'Неверная длинна статуса. Минимум 10, максимум 200 символов.');
if(mysql_query("UPDATE `users` SET `status` = '$status' WHERE `id` = '$user_id'"))
functions::locate('/users/profile.php', 'Статус обновлен.');
else
functions::locate('/users/profile.php', 'Произошла ошибка при обновлении статуса.');
?>