Mysql daten Updaten funzt nicht...

Alles, was MariaDB und MySQL betrifft, kann hier besprochen werden.

Mysql daten Updaten funzt nicht...

Postby Kev » 20. December 2004 17:05

So und zwar hab ich nen kleines prob wo ich selbst die lösung nicht find und mich tod grübel...

Und zwar hab ich ein SQL befehl, der von einer db die daten UPDATET so so funzt es wenn ich eine 2tabelle erstell und dort update aber wenn ich es so mach geht es nicht...


SQL GEHT NICHT:
Code: Select all
$sql5 = "UPDATE accounts SET gold = gold+5 WHERE acctid='".$session[user][acctid]."';
db_query($sql5) or die(db_error(LINK));


das ist mein prob er zählt den wert einfach nicht dazu bzw er macht garnix...
Aber wenn ich es so mach geht es...

SQL GEHT:
Code: Select all
$sql5 = "UPDATE test SET gold = gold+5 WHERE id='1'";
db_query($sql5) or die(db_error(LINK));


das wundert mich ein bisschen, alles geht nur eben der SQL befehl nicht ich habe aber diesen SQL befehl in mehreren dateien und dort funzt es einwandfrei, also ich weiß echt nicht woran es liegt ich hoff es kann mir jemand helfen...
User avatar
Kev
 
Posts: 269
Joined: 09. October 2004 13:25
Location: NRW/Hamm

Postby adi99 » 20. December 2004 17:36

Kann es sein, dass du bei accounts gold nicht als integer hast?

Oder was ist den die Fehlermeldung?
User avatar
adi99
 
Posts: 115
Joined: 15. January 2004 16:08
Location: Switzerland

Postby Wiedmann » 20. December 2004 17:39

Deine WHERE - Bedingung wird halt nicht greifen.
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby Kev » 20. December 2004 17:49

doch hab ich aber egal was ich mach, ob ich die WHERE acctid='1' so mach es funzt einfach nicht....ich weiß echt nicht woran es liegt aber bei anderen tabellen geht es....problem los
User avatar
Kev
 
Posts: 269
Joined: 09. October 2004 13:25
Location: NRW/Hamm

Postby adi99 » 20. December 2004 17:53

Ohne Fehlermeldung geht nichts!!!!
User avatar
adi99
 
Posts: 115
Joined: 15. January 2004 16:08
Location: Switzerland

Postby Kev » 20. December 2004 17:56

Es gibt keine fehlermeldung das is es ja...es geht aber es überträgt einfach nicht den wert....es kommt keine fehlermeldung...nix
User avatar
Kev
 
Posts: 269
Joined: 09. October 2004 13:25
Location: NRW/Hamm

Postby Wiedmann » 20. December 2004 18:05

Dann mach diese Aktion mal mit phpMyAdmin und lass dir dort dann den fertigen PHP-Code anzeigen.
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby Kev » 20. December 2004 18:25

ok werds ma eben versuchen
User avatar
Kev
 
Posts: 269
Joined: 09. October 2004 13:25
Location: NRW/Hamm

Postby Kev » 20. December 2004 18:31

über den phpmyadmin gehts ja das war klar, aber es wundert mich das es so nicht funkioniert weil ich schon die funktion brauch in der php datei...


EDIT: Es ist komisch sobald ich mich einlogg geht es nicht aber wenn ich mit einem anderen Nick rein geh geht es aber nur eben für den anderen, es ist wirklich komisch es sollte eigentlich auch so funkionieren...
User avatar
Kev
 
Posts: 269
Joined: 09. October 2004 13:25
Location: NRW/Hamm

Postby adi99 » 20. December 2004 18:58

poste mal die Funktion db_query
User avatar
adi99
 
Posts: 115
Joined: 15. January 2004 16:08
Location: Switzerland

Postby Kev » 20. December 2004 19:25

ok...

Code: Select all
function db_query($sql){
   global $session,$dbqueriesthishit;
   $dbqueriesthishit++;
   $fname = DBTYPE."_query";
   $r = $fname($sql) or die(($session[user][superuser]>=3 || 1?"<pre>".HTMLEntities($sql)."</pre>":"").db_error(LINK));
   //$x = strpos($sql,"WHERE");
   //if ($x!==false) {
   //   $where = substr($sql,$x+6);
   //   $x = strpos($where,"ORDER BY");
   //   if ($x!==false) $where = substr($where,0,$x);
   //   $x = strpos($where,"LIMIT");
   //   if ($x!==false) $where = substr($where,0,$x);
   //   $where = preg_replace("/'[^']*'/","",$where);
   //   $where = preg_replace('/"[^"]*"/',"",$where);
   //   $where = preg_replace("/[^a-zA-Z ]/","",$where);
   //   mysql_query("INSERT DELAYED INTO queryanalysis VALUES (0,\"".addslashes($where)."\",0)");
   //}
   return $r;
}


das is sie, also vorher gings auch und tuts ja noch immer bei den scripten aber diesma funzt es eben garnet mehr, das is das dumme, weil ich brauch schon den befehl...
User avatar
Kev
 
Posts: 269
Joined: 09. October 2004 13:25
Location: NRW/Hamm

Postby adi99 » 20. December 2004 19:38

Hallo,
.Auf den ersten Blick fällt mir auf:


1.
Code: Select all
  $r = $fname($sql)


als zweites, da wir ja der SQL-QUERY gar nicht ausgeführt...
User avatar
adi99
 
Posts: 115
Joined: 15. January 2004 16:08
Location: Switzerland

Postby Kev » 20. December 2004 19:45

öhm das is klar, ich hab da noch mehr funkion^^, is net die enzige aber es liegt nicht daran ich habs auch so ausprobiert normal mit mysql_query es tut sich einfach nichts wenn ich mit einem acc eingeloggt bin und er nicht auf das query reagiert sobald ich mich mit nem anderen Nick einlogg geht es darauf reagiert aber nur solang das WHERE nicht die acctid von dem Nick dann ist...
Aber für gewöhnlich sollte er es trotzdem ausführen


EDIT: Guck mal hier da bist direkt aufm server druff*g*, bzw in den source....
http://logd.dyndns.biz/logd/source.php?url=/logd/dbwrapper.php#source

Auf der URL kommst direkt zu den funktion mit db_query etc.
User avatar
Kev
 
Posts: 269
Joined: 09. October 2004 13:25
Location: NRW/Hamm

Postby Kev » 20. December 2004 20:53

so habs gelöst*gg* also so geht das updaten aber nur auf andere nicks und nicht auf den eigenen das find ich schade...ich weiß nicht ob das so bestimmt ist, aber für gewöhnlich sollte es gehen
User avatar
Kev
 
Posts: 269
Joined: 09. October 2004 13:25
Location: NRW/Hamm


Return to MariaDB - MySQL

Who is online

Users browsing this forum: No registered users and 7 guests