Sc0undRel
@Sc0undRel

Как удалить значение из Mysql поля?

Ув. гуру! Помогите, пожалуйста.
Мне необходимо взять из базы "1,12,15" и вернуть обратно "1,15" - что я делаю не так?

$sql1 = $db->super_query( "SELECT podpiski FROM users WHERE user_id ='10'" ); //здесь получаю строку "1,12,15"
$podpiski = explode(",", $sql1['podpiski']); //"1,12,15" помещаю в массив
if(($key = array_search("12",$podpiski)) !== FALSE){
  unset($podpiski[$key]); // $podpiski[1] очищается
}
$podpiski1 = implode(",", $podpiski); //помещаю новый массив в строку "1,15"
 
$db->query( "UPDATE users SET podpiski='{$podpiski1}' WHERE user_id ='10'" );


Вот этот последний UPDATE помещает в базу "1,15,12". А мне надо, чтобы не местами меняло Не понял а "1,15"
  • Вопрос задан
  • 383 просмотра
Пригласить эксперта
Ответы на вопрос 3
Вот так правильно:
`podpiski`=`".$podpiski1."`
Ответ написан
Комментировать
Sc0undRel
@Sc0undRel Автор вопроса
проблема решена.
была ошибка в начале кода.
Ответ написан
Комментировать
archakov06
@archakov06
Frontend-разработчик (ReactJS)
Это такой быдло-код, что страшно смотреть. Я как понял, ты юзаешь класс mysql.class.php от DLE. Ибо только там я заметил super_query.

Можно заменить весь этот код, одним запросом.
$db->query( "UPDATE users SET podpiski=REPLACE(podpiski,'12,','') WHERE user_id ='10'" );
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽