php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 02.06.2008, 16:10  
Moderator
 
Benutzerbild von cycap
 
Registriert seit: 13.02.2008
Beiträge: 6.816
PHP-Kenntnisse:
Fortgeschritten
cycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nett
Standard [Erledigt] MySQL UPDATE tut nichts

Hallo Leute,

hat jemand von euch eine Erklärung warum

PHP-Code:
    $test 28;
    
$sql "UPDATE `TM_user` SET `status` = 2 AND  `nickname` = '_' WHERE id = '$test'";
    echo 
$sql;
    
$qry mysql_query($sql) or die(mysql_error());
    echo 
"<br>".mysql_affected_rows(); 
folgende Ausgabe erzeugt:
Code:
UPDATE `TM_user` SET `status` = 2 AND `nickname` = '_' WHERE id = '28'
0
Also 0 Zeilen geupdatet (so ist es auch) aber der Datensatz mit der id 28 existiert mit 100%iger Sicherheit. Error Reporting ist natürlich voll aufgedreht...
cycap ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 02.06.2008, 16:19  
Moderator
 
Benutzerbild von cycap
 
Registriert seit: 13.02.2008
Beiträge: 6.816
PHP-Kenntnisse:
Fortgeschritten
cycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nett
Standard

Aaaahhhh da muss ja auch nen Komma hin und kein AND. Dann funktionierts auch, aber warum bekomm ich keinen Fehler??
cycap ist offline   Mit Zitat antworten
Alt 02.06.2008, 17:15  
Supermoderator HD
 
Benutzerbild von Manko10
 
Registriert seit: 16.03.2008
Beiträge: 8.705
PHP-Kenntnisse:
Fortgeschritten
Manko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende Zukunft
Standard

Ich denke, weil es zu einem boolschen Wert getyped wird.

2 AND `nickname` = '_' würde dann TRUE entsprechen (was wiederum 1 von Typ TINYINT(1) entspricht ).
Manko10 ist offline   Mit Zitat antworten
Alt 02.06.2008, 18:54  
Moderator
 
Benutzerbild von cycap
 
Registriert seit: 13.02.2008
Beiträge: 6.816
PHP-Kenntnisse:
Fortgeschritten
cycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nett
Standard

So ein Blödsinn
cycap ist offline   Mit Zitat antworten
Alt 03.06.2008, 08:13  
Moderator
 
Benutzerbild von cycap
 
Registriert seit: 13.02.2008
Beiträge: 6.816
PHP-Kenntnisse:
Fortgeschritten
cycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nett
Standard

Aber wenn ichs mir Recht überlege, dann ergibt deine Annahme doch keinen Sinn, weil die affected_rows wären dann ja trotzdem 1 und nicht 0
cycap ist offline   Mit Zitat antworten
Alt 03.06.2008, 12:33  
Erfahrener Benutzer
 
Registriert seit: 28.05.2008
Beiträge: 2.094
PHP-Kenntnisse:
Fortgeschritten
rudygotya ist einfach richtig nettrudygotya ist einfach richtig nettrudygotya ist einfach richtig nettrudygotya ist einfach richtig nettrudygotya ist einfach richtig nett
Standard

Müßte so gehen :
$sql
= "UPDATE `TM_user` SET `status` = '2' AND `nickname` = '_' WHERE id = '".$test."';";

Gruß
rudygotya ist offline   Mit Zitat antworten
Alt 03.06.2008, 13:07  
Moderator
 
Benutzerbild von cycap
 
Registriert seit: 13.02.2008
Beiträge: 6.816
PHP-Kenntnisse:
Fortgeschritten
cycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nett
Standard

Zitat:
Zitat von rudygotya Beitrag anzeigen
Müßte so gehen :
$sql
= "UPDATE `TM_user` SET `status` = '2' AND `nickname` = '_' WHERE id = '".$test."';";

Gruß
Das ist absoluter Blödsinn...
cycap ist offline   Mit Zitat antworten
Alt 03.06.2008, 13:10  
Benutzer
 
Registriert seit: 19.05.2008
Beiträge: 86
SJahr befindet sich auf einem aufstrebenden Ast
SJahr eine Nachricht über ICQ schicken SJahr eine Nachricht über MSN schicken
Standard

Kann es sein das deine Spalte id gar kein varchar ist? Du behandelst es nämlich wie einen. Lass mal die ' bei der id weg. Dann sollte es glaub ich funktionieren. Zumindest hab ich die gleichen Probleme gehabt, wenn ich mit nem String eine int-Spalte überprüft habe.
SJahr ist offline   Mit Zitat antworten
Alt 03.06.2008, 13:15  
Moderator
 
Benutzerbild von cycap
 
Registriert seit: 13.02.2008
Beiträge: 6.816
PHP-Kenntnisse:
Fortgeschritten
cycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nett
Standard

Zitat:
Zitat von SJahr Beitrag anzeigen
Kann es sein das deine Spalte id gar kein varchar ist? Du behandelst es nämlich wie einen. Lass mal die ' bei der id weg. Dann sollte es glaub ich funktionieren. Zumindest hab ich die gleichen Probleme gehabt, wenn ich mit nem String eine int-Spalte überprüft habe.
Klar ist die kein varchar, aber das ist ja nicht das Problem, außerdem hab ich die ' ' in meinem Code oben auch nicht drin

Das funktioniert:
Code:
UPDATE `TM_user` SET `status` = 2, `nickname` = '_' WHERE id = '$test'
ABER das funktioniert nicht:

Code:
UPDATE `TM_user` SET `status` = 2 AND  `nickname` = '_' WHERE id = '$test'
Schuld ist hier das AND. Aber warum kommt keine Fehlermeldung? Und selbst wenn das AND irgendwelche Werte verknüpfen würde, wären die betroffenen Datensätze immer noch 1 und nicht 0, denn am WHERE wird ja nichts geändert...
cycap ist offline   Mit Zitat antworten
Alt 03.06.2008, 13:19  
Benutzer
 
Registriert seit: 19.05.2008
Beiträge: 86
SJahr befindet sich auf einem aufstrebenden Ast
SJahr eine Nachricht über ICQ schicken SJahr eine Nachricht über MSN schicken
Standard

Wer lesen kann ist klar im Vorteil Ich natürlich mal wieder nicht

Ich meine mich aber zu erinnern, mal das gleiche Problem wie du gehabt zu haben.
SJahr ist offline   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
[Erledigt] Probleme bei UPDATE in mysql per PHP Pit_php PHP Tipps 2008 5 16.06.2008 11:37
[Erledigt] Kein Ergebnis bei SELECT (MySQL 4.1.9) dr.e. Datenbanken 4 15.06.2008 19:54
[Erledigt] MYSQL 5.0 läuft nicht !? sakamoto Datenbanken 9 15.06.2008 13:07
[Erledigt] Mysql Insert Select + Concat Hu5eL Datenbanken 14 10.06.2008 10:39
[Erledigt] Php Mysql ausgabe in Tabelle / Gruppentrennung xitam PHP Tipps 2008 3 28.05.2008 22:03
[Erledigt] mysql: INSERT und wenn vorhanden UPDATE Datenbanken 7 07.01.2006 09:54
mysql problem: mysql update wird nicht ausgeführt schmiddy PHP Tipps 2007 4 27.12.2005 20:35
Update von ca 20000 Datensätzen MySQL PHP Tipps 2005-2 4 29.10.2005 19:48
Suche Tipps für Persormance-Steigerung (Geld für Nützliches) Beitragsarchiv 18 16.08.2005 10:57
einfache mysql abfrage und mysql update haut nicht ganz hin djrace PHP Tipps 2005-2 6 12.08.2005 15:28
Fehler im UPDATE Code für MySQL Plague Datenbanken 1 21.05.2005 16:55
mysql update - und nichts passiert Datenbanken 3 26.02.2005 09:43
php / Mysql Update auf neuste Version PHP Tipps 2007 5 05.01.2005 19:34
mysql update nr.2 PHP Tipps 2004-2 2 12.12.2004 19:53
Problem bei MYSQL / Update Resource #id Fehler PHP Tipps 2004 2 29.09.2004 13:09

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
mysql update id, mysql update mehrere spalten, mysql update macht nichts, mysql update aus 2 tabellen ohne ergebiss, myspl update id, mysql update mit where id, mysql update macht 2 spalten, mysql update where id, http://www.php.de/datenbanken/1523-erledigt-mysql-update-tut-nichts.html, mysql update auch gleiche, mysql update set 2 spalten, php mysql update macht nichts, php mysql update keine änderung, php mysql update mehrerer felder, update id mysql, mysql update macht nix, mysql update where id =, mysql mehrere spalten updaten, mysql update mehrere geht nicht, mysql update php mehrere spalten

Alle Zeitangaben in WEZ +2. Es ist jetzt 03:31 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