• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

[GELÖST] MySQL-Eintrag um 1 erhöhen

J

j-l-n

Guest
Ist folgender Code in irgendeiner Form falsch? Der Eintrag in der Datenbank bleibt nämlich immer 0. Die Verbindung mit der MySQL-DB klappt aber, da an anderer Stelle ein Wert erfolgreich in die gleiche Tabelle eingetragen wird.
PHP:
$sql = "UPDATE
						`tabelle`
					SET
						`anzahl` = `anzahl` + 1
					WHERE
						LOWER(`user`) = '" .mysql_real_escape_string( $user ). "'
					LIMIT
						1";
			mysql_query( $sql, $conid );
 
Zuletzt bearbeitet von einem Moderator:
Die Google Suchbegriffe hierfür waren übrigens "mysql increase field" ;)

Entschuldige bitte. Hätte ich den Suchbegriff gekannt, hätte ich natürlich erst mal kurz gegoogelt. Wusste leider nicht, dass das das Stichwort zu meinem Problem war.
Danke übrigens noch für die schnelle Antwort, konnte dadurch das Skript zum laufen bringen!
 
Zuletzt bearbeitet:
Brauchst dich nicht entschuldigen, Julian. Wie gesagt, gegen Fragen hat hier niemand etwas. Ich kenne das von mir selbst, man will dann fertig werden und nicht auf Antwort warten. Daher habe ich dir diesen Tipp gegeben.

Suchbegriffe findet man am einfachsten, wenn man eine Frage in EINEM Satz formuliert und dann alle Füllwörter streicht. Übrig bleiben die Hauptbegriffe und die ordnet man jetzt nach Prio von vorn nach hinten an. Damit wird man meistens fündig. Und was man nicht in einem Satz formulieren kann oder wenn mehr als 3 Wörter übrig bleiben muss auch ich im Forum fragen.
Soll dir nur als Hilfe dienen, ich will dich nicht los werden!!
 
Ich hab's auch als guten Tipp - wie es ja auch gemeint war - verstanden. Danke nochmal, auch für die kurze Info zu Suchbegriffen :)
- Thema kann auf "Gelöst" | erledigt, danke @mikdoe
 
Zuletzt bearbeitet:
Ich verstehe jetzt nicht, was das Problem war und was die Lösung ist... Backticks bei Tabellen- oder Spaltennamen können das Problem auf keinen Fall erzeugt haben - hab' das gerade ausprobiert...
 
Also Backticks sind einfach die Begrenzer für Namen in SQL - ich verwende die immer und habe damit noch nie Probleme gehabt. Kannst du ein Beispiel/eine Referenz zeigen, wo das Probleme macht?

Ich habe ja die Vermutung, dass
Code:
                        LOWER(`user`) = '" .mysql_real_escape_string( $user ). "'
das Problem war. Wenn in $user ein Großbuchstabe drin ist und die SQL-Verbindung eine case sensitive collation eingestellt hat, wird das einfach nie wahr. Ich würde da ja auf beiden Seiten zu Kleinbuchstaben umwandeln... oder das LOWER komplett weglassen und die Spalte im MySQL auf eine case insensitive collation stellen (ich arbeite immer mit utf8_unicode_ci).
 
Kannst du ein Beispiel/eine Referenz zeigen, wo das Probleme macht?
Nein, kann ich nicht. Das war nur eine Vermutung von mir die aus dem direkten Vergleich mit den Stack Beispielen entstand. Dass mysql_real_escape_string( $user ) und $conid in Ordnung sind war eine Annahme von mir.
 
Mal sehen, was Julian jetzt verwendet. Da sollte man dann erkennen, was das Problem genau war.
Auch der genaue Inhalt der Variablen $sql könnte helfen, das Mysterium zu lösen.
 
Werde den Code sobald wie möglich Posten, wenn ich mit dem gesamten Skript fertig bin.
Melde mich wieder,

Julian
 
Zurück
Oben