php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 12.01.2005, 16:54  
obi
Erfahrener Benutzer
 
Registriert seit: 26.06.2004
Beiträge: 270
obi
Standard Update Set xyz = xyz + 0

Hallo,
mysql bringt immer ein Fehler wenn die Query:

Zitat:
Update Set xyz = xyz + 0
ist, die 0 ergibt sich aus zwei variablen, die manchmal eben betragsmäßig gleich sind:

Zitat:
Update Set xyz = xyz +"-$var1 + $var2"
Wie umgehe ich die Fehlermeldung und mach, dass die Query funktioniert?
obi ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 12.01.2005, 16:57  
Erfahrener Benutzer
 
Registriert seit: 21.12.2004
Beiträge: 4.651
PHP-Kenntnisse:
Fortgeschritten
mepeisen ist ein Lichtblickmepeisen ist ein Lichtblickmepeisen ist ein Lichtblickmepeisen ist ein Lichtblickmepeisen ist ein Lichtblickmepeisen ist ein Lichtblick
mepeisen eine Nachricht über ICQ schicken mepeisen eine Nachricht über Skype™ schicken
Standard

Indem du dir erst einmal anschaust, wie du das korrekt fomulierst. So wie es da steht ist es quatsch. So wird es nie funktionieren, auch nicht wenn die beiden Variablen betragsmäßig ungleich 0 sind.

a) Welcher Fehler kommt?
b) Wie sieht dein kompletter Code im betroffenen Bereich aus? Bitte nicht einfach nur nicht funktionierende Code-Fragmente schreiben.
c) Lese dir das MySQL- Handbuch oder ein Tutorial durch, wie man einen UPDATE korrekt formuliert.
mepeisen ist offline   Mit Zitat antworten
Alt 12.01.2005, 17:02  
Gast
 
Beiträge: n/a
Standard

Tja, woher soll MySQL wissen, welche Tabelle denn upgedatet werden soll? Und sollen alle Einträge geändert werden?

Gruß
phpfan
  Mit Zitat antworten
Alt 12.01.2005, 17:17  
obi
Erfahrener Benutzer
 
Registriert seit: 26.06.2004
Beiträge: 270
obi
Standard

Normal wieß ich ja wie man Updates schreibt.
Naja, ich komm net weiter:
hier der Code der Query:

PHP-Code:
<?
$query 
"UPDATE dp_teams SET Heimtore = Heimtore + ".(-1*($row["Heimtore"]) + $arr_homegoals[$i]).", Tordifferenz = Tordifferenz + ".(-1*($row["Heimtore"]-$row["Gasttore"])) + ($arr_homegoals[$i] - $arr_awaygoals[$i]).", Heimtordifferenz = Heimtordifferenz + ".(-1*($row["Heimtore"] - $row["Gasttore"])) + ($arr_homegoals[$i] - $arr_awaygoals[$i]).", Gesamttore = Gesamttore + ".(-1*($row["Heimtore"]) + $arr_homegoals[$i]).", Heimtorekassiert = Heimtorekassiert + ".(-1*($row["Gasttore"]) + $arr_awaygoals[$i]).", WHERE ID = '".$arr_gameid[$i]."'";
?>
Die Fehlermeldung:
Zitat:
You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '6, Gesamttore = Gesamttore + 3, Heimtorekassiert = Heimtorekass
@phpfan:
Ja, ich hab nur ein Fragment der Query gepostet, in dem ich anfänglich den Fehler vermutet habe, aber jetzt ist mir auch klar, dass er da nicht steckt, denn "Update set xyz = xyz + 0" ist offentsichtlich nicht falsch.
obi ist offline   Mit Zitat antworten
Alt 12.01.2005, 17:22  
Erfahrener Benutzer
 
Registriert seit: 21.12.2004
Beiträge: 4.651
PHP-Kenntnisse:
Fortgeschritten
mepeisen ist ein Lichtblickmepeisen ist ein Lichtblickmepeisen ist ein Lichtblickmepeisen ist ein Lichtblickmepeisen ist ein Lichtblickmepeisen ist ein Lichtblick
mepeisen eine Nachricht über ICQ schicken mepeisen eine Nachricht über Skype™ schicken
Standard

Und hat das was mit dem Betrag 0 zu tun?

Ohne es zu sehen gehe ich einfach einmal davon aus, dass dein Update am Ende etwa so aussieht:
UPDATE abc SET spalte = spalte + -6

Das versteht MySQL nunmal so nicht.

Lösung das Plus bei negativen Beträgen weglassen oder Klammern setzen oder anders machen.

btw. Da fehlt sowieso ne Klammer da drin. Das ganze Konstrukt stimmt so nicht.
mepeisen ist offline   Mit Zitat antworten
Alt 12.01.2005, 17:22  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 2.150
Guradia befindet sich auf einem aufstrebenden Ast
Standard

1. print $query .. damit du mal siehst was du verzsapfst ..
2. Formatier den Code .. dann würdest du den Fehler evtl. gleich sehen
Guradia ist offline   Mit Zitat antworten
Alt 12.01.2005, 18:23  
Clan
Gast
 
Beiträge: n/a
Standard was mir als erstes aufgefallen ist....

Zitat:
]).", WHERE ID
watn das? *gg*
nen komma vor where geht nicht..

ach ja noch was..
versuche den code doch mal bitte so zu schreiben, sodas man ihn auch leicht lesen kann...
es erleichtert auch dir später, die arbeit

http://www.buva.sowi.uni-bamberg.de/.../progMeth.html
Zitat:
Hier befinden sich Regeln und Empfehlungen, an die man sich beim Programmieren halten sollte. Sie alle dienen folgenden Zielen:
Der Code soll

übersichtlich sein
für andere leicht lesbar sein
wartbar, d.h. später von anderen leicht modifizierbar sein
das Entstehen von Fehlern erschweren
das Auffinden von Fehlern erleichtern.
.
.
.
  Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Update / syntaxfehler prinzli Datenbanken 7 24.11.2007 21:24
INSERT.. ON DUPLICATE KEY UPDATE cycap Datenbanken 3 26.10.2007 13:08
UPDATE mit Subquery cycap Datenbanken 6 27.09.2007 14:25
zwei SQL-Befehle (SELECT UND UPDATE) auf einmal vollziehen. Datenbanken 3 09.03.2006 16:34
Strato & MysqlDB update Schmuend Datenbanken 5 21.02.2006 08:59
UPDATE soll TIMESTAMP-Feld nicht verändern Datenbanken 7 26.01.2006 13:59
UPDATE count nach Link Aufruf ? PHP Tipps 2006 9 22.01.2006 14:53
[Erledigt] per Update eine zahl ehöhen lassen Datenbanken 3 04.07.2005 16:37
Update in mysql funzt nicht maeck PHP Tipps 2005-2 4 27.06.2005 22:52
Update per Cronjob (where Feld = Wort) Apfeltyp PHP Tipps 2004-2 3 14.12.2004 18:25
UPDATE Problem 2wuck Datenbanken 3 19.11.2004 22:05
UPDATE mit ' im Text Datenbanken 2 09.11.2004 20:07
[Erledigt] UPDATE = NO Update aber kein fehler..dringend hilfe suchend Datenbanken 2 25.09.2004 16:28
php update PHP Tipps 2004 2 24.09.2004 01:07
[Erledigt] UPDATE Syntax problem Datenbanken 6 17.08.2004 16:18

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
update `` set ``= 1, update `` set `` 1, was bedeutet xyzxyz, update set = 1, php where xyz=$, \update set\, set 0 php, xyz@xyz.xyz

Alle Zeitangaben in WEZ +1. Es ist jetzt 05:01 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.