WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   sql - anweisung wird ignoriert (http://www.wcm.at/forum/showthread.php?t=51299)

RaistlinMajere 28.03.2002 12:19

sql - anweisung wird ignoriert
 
hoffe, mir kann da jemand bei einem ziemlich lästigen problem helfen:

Code:

$sql = "UPDATE artikel SET id='0', bild='$bildname' WHERE id='$id'";
komischerweise wird nur die erste anweisung, d.h. id=0 durchgeführt, die 2. wird ignoriert. ich habe mir den string ausgeben lassen, mit den variablen passt alles.
trenne ich beide anweisungen über separate sql-anweisungen, so wird wieder nur die id-änderung durchgeführt, die bildänderung nicht.

wenn ich nun aber die id-vergabe wegtue und nur den namen des bildes setzen lassen will, funzt das.

ich steh hier echt an, schaut simpelst aus, aber ich checks einfach nicht, kann mir vielleicht jemand helfen?
:confused:

danke im voraus.

_m3 28.03.2002 12:28

perl (hoffentlich ;)) oder PHP?

Mach beim WHERE eine zweite Bedingung mit dem Bildnamen, falls Du dann eine ID doppelt hast.

Was für eine Fehlermeldung/Rückgabecode bekommst nach dem execute der Abfrage Du?

RaistlinMajere 28.03.2002 13:05

oops, ich vergaß: PHP

die 2. bedingung brauche ich nicht, weil ich das ganze testhalber mit nur 2 einträgen überprüft habe, die id´s kommen sicher nicht doppelt vor, dafür ist gesorgt.

fehlermeldung kommt überhaupt keine zurück, d.h. der query wird durchgeführt, nur die anweisung dafür nicht.

peter-k 28.03.2002 14:29

Baust gerade einen Shop?
Mir kommt das Problem sehr bekannt vor und hab mal in mein Shop-Script gesehen.

Updateanweisungen führ ich nicht mehr mit
sql = "UPDATE...." durch sondern
mysql_query ("UPDATE artikel SET artikelname='$artikelname', bild='$bild' ....");

warum versteh ich zwar nicht ganz da die Abfrage ob Artikel vorhanden unmittelbar davor mit
sql = "SELECT artikel FROM...." funkt.

RaistlinMajere 28.03.2002 17:06

ja, das ganze ist für einen shop.

hab das mal ausprobiert, was du mir geraten hast (obwohls mich gewundert hat, daß das was bringen sollte), hat aber erwartungsgemäß leider nix gebracht.

_m3 28.03.2002 19:44

Hmmm .....

Direkt in mysql klappts:
Code:

mysql> select * from artikel;
+------+--------+
| id  | bild  |
+------+--------+
|    3 | text4  |
|    2 | text 2 |
+------+--------+
2 rows in set (0.00 sec)

mysql>  update artikel set id='0', bild="text4" where ID='3';
Query OK, 1 row affected (0.01 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql> select * from artikel;
+------+--------+
| id  | bild  |
+------+--------+
|    0 | text4  |
|    2 | text 2 |
+------+--------+
2 rows in set (0.00 sec)

Eventuell in einer Variablen noch ein Blank hinten oder so?

RaistlinMajere 28.03.2002 19:54

ich weiß, habs in phpadmin auch schon direkt eingegeben, da gehts. darum bin ich ja so verwirrt. :confused:

_m3 28.03.2002 20:01

Check mal die Variablen, da ist siche rwo ein blank oder "\n" hinten drann ;)
Is ein Klassiker :D

RaistlinMajere 28.03.2002 20:04

*g* ich weiß, aber ich lasse mir den inhalt der variable $sql ja ausgeben und da passt alles

_m3 29.03.2002 01:00

hmmmm - keine "Updateberechtigung" für den User?


Alle Zeitangaben in WEZ +2. Es ist jetzt 07:26 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag