anpera.net

anpera.net

experimental server @home
Aktuelle Zeit: Do 28 Mär, 2024 22:03

Alle Zeiten sind UTC + 1 Stunde




Ein neues Thema erstellen Auf das Thema antworten  [ 5 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Problem mit sql-Befehl
BeitragVerfasst: Mo 04 Mai, 2009 15:35 
Offline
Profi
Profi
Benutzeravatar

Registriert: Mo 12 Mai, 2008 21:51
Beiträge: 137
Geschlecht: Weiblich
ok, das erste mal, dass ich selbst mal Hilfe brauche,
aber weder ich noch mein Co-Progger haben einen Fehler finden können, warum das Mistding nicht funktioniert...
bei dem Script geht es um eine einfachere Umstellung zwischen rp und level-char, da mich die dauernden anfragen nerven
eigentlich klappt auch alles, nur wird der user nicht umgestellt.
da die source bei mir spinnt (sowohl mit show source als auch highlightfile) mal den wichtigsten Teil an gehangen:

$this->bbcode_second_pass_code('', 'if ($_GET['id'])
{

$sql1='Select anzahl, rp FROM wechsel, accounts WHERE wechsel.acctid='.$_GET['id'].' AND wechsel.acctid=accounts.acctid';
$row=db_fetch_assoc(db_query($sql1));

//bedarf am wechseln zurücksetzen.
$sql2 ='UPDATE wechsel SET wechsel="0" WHERE wechsel.acctid="'.$_GET['id'].'"';
db_query($sql2);
$meldung='';
if($_GET['aktion']=='yes')
{
if ($row['rp']=='1')
{
$sql5=('UPDATE accounts SET rp = 1 WHERE acctid='.$_GET['id'].' LIMIT 1');
}
else
{
$sql5=('UPDATE accounts SET rp = 2 WHERE acctid='.$_GET['id'].' LIMIT 1');
}

db_query($sql5);
$date=getdate();
$sql3 =('UPDATE wechsel SET lastchange="'.$date['year'].'-'.$date['mon'].'-'.$date['mday'].'" WHERE acctid="'.$_GET['id'].'"');
db_query($sql3) ;
//anzahl der volzogenen wechsel erhöhen
$a=strval ($row['anzahl']+1);
$sql4 =('UPDATE wechsel SET anzahl="'.$a.'" WHERE acctid="'.$_GET['id'].'"');
db_query($sql4);

output($sql1."`n".$sql2."`n".$sql3."`n".$sql4."`n".$sql5);
$meldung=('Ein Admin hat zugestimmt deinen Kämpfer-Typ ändern zu lassen.');
}')
ok, sieht etwas verwirrender aus, wie gesagt, es funktioniert alles, bis auf der Teil mit der Umstellung(sql5) wir haben nun ~20 Möglichkeiten ausprobiert diesen Code nun richtig zu bekommen..
er spuckt ihm beim output unten sogar richtig aus...
bei der manuellen Eingabe in die db funktioniert er, nur nicht in der Datei.
auch alle anderen Befehle funktionieren.
nur dieser eine nicht
jemand ne Idee woran das liegen könnte?

danke im Vorraus


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Problem mit sql-Befehl
BeitragVerfasst: Mo 04 Mai, 2009 16:10 
Offline
Lehrling
Lehrling
Benutzeravatar

Registriert: Mo 04 Aug, 2008 07:52
Beiträge: 31
Geschlecht: Männlich
LoGD: www.lotgd.de
ok ich tipp einfach mal ins blaue:

wäre es möglich, das ein nachfolgender Bestandteil (oder der evtl. eingeloggte User) den Inhalt des RP-Feldes wieder zurücksetzt? Sprich habt ihr euch den Feldinhalt direkt nach dem db_query mal anzeigen lassen?

Kann man eine Ausgabe des sql5 mal sehen?


Was in eigener Sache:
Die Datenbankabfrage sql1 ist unsauber. Auch wenn die Datensätze sicherlich gering sind, lasst sowas nicht erst einreisen, das ist ne Performanceverschwendung (JOIN Abfragen verwenden anstatt Komma-Abfragen)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Problem mit sql-Befehl
BeitragVerfasst: Mo 04 Mai, 2009 16:21 
Offline
Profi
Profi
Benutzeravatar

Registriert: Mo 12 Mai, 2008 21:51
Beiträge: 137
Geschlecht: Weiblich
zu sql1.. ja das habe ich meinem Co-Progger auch schon gesagt, aber im Moment klappts noch, von daher wird das erst später geändert, soll ja erst mal funktionieren, danach kann mans immer noch verbessern...


und hier die ausgaben für jedes sql, der reihe nach
Select anzahl, rp FROM wechsel, accounts WHERE wechsel.acctid=15 AND wechsel.acctid=accounts.acctid;
UPDATE wechsel SET wechsel="0" WHERE wechsel.acctid="15";
UPDATE wechsel SET lastchange="2009-5-4" WHERE acctid="15";
UPDATE wechsel SET anzahl="15" WHERE acctid="15";
UPDATE accounts SET rp = 2 WHERE acctid=15 LIMIT 1

wie gesagt, ich habe shcon alles probeirt, mit ` bei den tabellen feldern, mit " statt ' und alles was mir noch so eingefallen ist, wie man den Befehl gestalten könnte, aber immer das gleiche... keine Umstelung
habs nun auch extra mit nem andren Char probiert, klappt einfach nicht...
und wenn du mit Fehlinhalt or die(db_error(LINK)); meinst, ja hab ich auch schon gemacht,hat auch nichts geändert...
und wie gesagt, führe ich die Zeile vom sql 5 in der db aus, funktioniert es ja...


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Problem mit sql-Befehl
BeitragVerfasst: Mo 04 Mai, 2009 16:37 
Offline
Lehrling
Lehrling
Benutzeravatar

Registriert: Mo 04 Aug, 2008 07:52
Beiträge: 31
Geschlecht: Männlich
LoGD: www.lotgd.de
nein eigentlich meinte ich die accounts direkt nach dem sql5 nochmal abzufragen und den Feldinhalt auszugeben, weil irgendwie vom Code her bin ich offenbar genauso mit Blindheit geschlagen wie du.

Die einzig sichtbare Abweichung zu den restlichen Statements ist bei dem sql5 die fehlende Hochkommasetzung für die Werte der Felder, aber das wäre mir neu, dass sich daran irgendwas stoßen würde.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Problem mit sql-Befehl
BeitragVerfasst: Mo 04 Mai, 2009 16:56 
Offline
Profi
Profi
Benutzeravatar

Registriert: Mo 12 Mai, 2008 21:51
Beiträge: 137
Geschlecht: Weiblich
wie geschrieben hatte ich die auch mal drinne...
in etlichen unterschiedlichen variablen...
aber ok, habs nun hinbekommen
1 und 2 waren vertauscht ^^'
*kopf und Wand guten Tag sagt*
aber ohne des mit dem nachkucken wäre ich nu auch nicht drauf gekommen...
da fällts dann doch auf wenn vorher 2 war und danach immer noch 2...
blöd kann man sein >.<

danke für die Hilfe


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 5 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 32 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen
Du darfst keine Antworten zu Themen in diesem Forum erstellen
Du darfst deine Beiträge in diesem Forum nicht ändern
Du darfst deine Beiträge in diesem Forum nicht löschen
Du darfst keine Dateianhänge in diesem Forum erstellen

Suche nach:
Gehe zu:  
POWERED_BY
Deutsche Übersetzung durch phpBB.de
anpera.net - Impressum