Zwei Abfragen zum Erhöhen/Verringern des Feldwerts sind nicht erforderlich:
mysql_query("UPDATE table SET field = field + 1 WHERE id = $number");
ist eine vollkommen gültige Abfrage, wie Sie als nächstes sehen können:
mysql> describe points;
+--------+---------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------+---------+------+-----+---------+-------+
| uid | int(11) | NO | PRI | NULL | |
| points | int(11) | YES | | 0 | |
+--------+---------+------+-----+---------+-------+
2 rows in set (0.05 sec)
mysql> insert into points VALUES (1,0),(2,0);
Query OK, 2 rows affected (0.14 sec)
mysql> select * from points;
+-----+--------+
| uid | points |
+-----+--------+
| 1 | 0 |
| 2 | 0 |
+-----+--------+
2 rows in set (0.05 sec)
mysql> update points set points = points+1 where uid = 1;
Query OK, 1 row affected (0.27 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> select * from points;
+-----+--------+
| uid | points |
+-----+--------+
| 1 | 1 |
| 2 | 0 |
+-----+--------+
2 rows in set (0.00 sec)
Nachdem Sie das getestet haben, sind Sie sicher, dass Sie in Ihr if (loggedin())
kommen Klausel?
Da muss ich KM
zustimmen , wäre schön, die Ausgabe von echo $query1;
zu sehen oder echo $query2;