Андрюшка Андрюшка
Андрюшка Андрюшка

[PHP и MySql]Не выполняется функция

Вот код
$q = "SELECT * FROM `users` WHERE id='$id'";
$rs = mysql_query($q);
$row = mysql_fetch_array($rs);
$p = $row['points'];
$p = $p + 1; // так же можно $p = $p++;
$q = "INSERT INTO `users (`points`) VALUES ($p) WHERE id=$id";
mysql_query($q);
Пробовал, переменная p принимает значение первого запроса, а вот второй запрос уже не выполняется. Примечания: Тип данных в ячейках БД INT, изначальное условие = 0. Пожалуйста помогите, я слегка запутался

РХ
Равшан Хамидов

Упакуйте весь ваш код в 1 запрос:

UPDATE `users` SET `users`.`points` = (`users`.`ponts` + 1) WHERE `users`.`id` = '$id' LIMIT 1

LIMIT 1 означает что изменится в любом случае только одна (первая найденная по условию) запись - используйте LIMIT 1 там, где "по дизайну" у вас уникальные записи (у вас же не может быть двух пользователей с одинаковым ID?)

Ирина
Ирина

Потому что не Insert, а Update Set

Похожие вопросы
Поиск в базе MySQL PHP
где можно потренироваться HTML PHP MYSQL
Помогите с PHP и MySQL
Вопрос по php с mysql
Помошь по php и mysql
Проблема с PHP и MySQL
ищу функцию в PHP+MySQL
Для специалистов PHP+MySQL
PHP & MYSQL кодировка
Какой функцией PHP можно найти в БД mySQL нужную строчку и заменить её?