Как добавить строковое значение в ячейку в SQL, используя php? - PullRequest
0 голосов
/ 25 мая 2020

Я пытаюсь обновить ячейку varchar в SQL таблице пользователей. Теперь значение groups_id 3. $last_id = 4. Я хочу поменять его на 3, 4. Подскажите, пожалуйста, что я делаю не так?

С этим кодом значение остается прежним

$sql = "UPDATE registration.users SET groups_id = groups_id+', $last_id' WHERE username = '$user_name'";
$update_groups_id = $db->query($sql);

Ответы [ 2 ]

1 голос
/ 25 мая 2020

Ошибка синтаксиса в вашем объекте $sql, поскольку вы используете +', $last_id'. Если вы хотите добавить PHP, вы можете использовать . в контексте строки

Также я уверен, что вы можете оставить '' из переменных, чтобы '$last_id' стал $last_id

Но важнее то, что вы не проверяете никаких проблем с безопасностью. Я надеюсь, что $ user_name и $ last_id не просто взяты из ввода, поскольку возможны инъекции SQL.

Рекомендую посмотреть mysqli_prepare и mysqli_bind

1 голос
/ 25 мая 2020
$val = $groups_id . ", ".$last_id;
$sql = "UPDATE registration.users SET `groups_id` = '$val' WHERE username = '$user_name'";
$update_groups_id = $db->query($sql);

ваш запрос SQL неверен, вы неправильно объединяете переменные, попробуйте сделать так, я думаю, это должно вам помочь

...