gleber1
@gleber1

Как сформулировать по грамотнее if в mysql?

Хочется из php сократить это до одного зароса в mysql(не знаю разумно ли это) просто хочется хотя бы для тренировки.

if ($id_newfriend!=$currentId){
$resArray=mysql_query("SELECT `friends` FROM `user` WHERE id=$currentId");
if ($resArray){
mysql_query("UPDATE `user` SET `friends` = CONCAT(`friends`, ',', '$id_newfriend') WHERE id=$currentId");}
else{
mysql_query("UPDATE `user` SET `friends` = CONCAT(`friends`, '$id_newfriend') WHERE id=$currentId");}

}
  • Вопрос задан
  • 2210 просмотров
Решения вопроса 1
@ldvldv
1. Если хотите вставлять ИД нового друга через запятую, но чтобы запятой не было в начале строки:

UPDATE user SET friends = CONCAT(friends, IF(friends='', '' , ',' ) , '$id_newfriend') WHERE id=$currentId

2. Что проверяет "if ($resArray)" не понятно. mysql_query возвращает не значение поля.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
Kwisatz
@Kwisatz
Больше web-приложений, хороших и разных
Перестаньте пользоваться mysql_query. MySQLI либо PDO

И объясните пожалуйста суть того что вы делаете. Давать советы по манипуляциям с бд без понимания данных - крайне хреновая идея
Ответ написан
Комментировать
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
И нормализуйте базу, хранить отношения "многие ко многим" в виде списка - не самая лучшая идея.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы