Home | Registrieren | Einloggen | Suchen | Aktuelles


Forum » PHP & MySQL » Wo ist der Fehler? Antworten
Wo ist der Fehler?

hammel
Otto-Normal-Poster


Beiträge: 65


Hallo, ich hab ein Problem mit dem Code. Jedes mal wird 'Fehler! Der ausgewählte Benutzer existiert nicht.' ausgegeben. Auch wenn es den Usern gibt. Hier der Code:

1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 
18: 
19: 
20: 
21:
<?php     $sql = @mysql_query("SELECT userid FROM users WHERE uid = '".$gegener."' ");
    $row = @mysql_fetch_object($sql);
    
    if(@mysql_num_rows($sql) == 1) {

        if($row->uid == $uid) {
        
                
        }else {
            
            echo "<Script>alert('Fehler! Sie können nicht gegen sich selbst kämpfen!')</script> <Script>history.back(-2)</script>";
            
        }    
        
    }else {

        // Hier deine Fehlermeldung
    echo "<Script>alert('Fehler! Der ausgewählte Benutzer existiert nicht.')</script> <Script>history.back(-2)</script> " ;
        
    }
	?>

Diese Nachricht wurde geändert von: hammel
  Profil   Editieren   Zitieren

raiserle
Fachidiot


Beiträge: 144


$row=mysql_fetch_object($sql)
muss in die if

---
Irren is Menschlich

Wer andern eine Grube gräbt,
sollte darüber nachdenken,
ob sie tief genug ist!!!!

Kameradschaft ist, wenn der
Kamerad schafft !!!!

  Profil   E-Mail   Website   Editieren   Zitieren

hammel
Otto-Normal-Poster


Beiträge: 65


Wohin? In if(@mysql_num_rows($sql) == 1) { oder in if($row->uid == $uid) { sorry aber ich bin ein Anfänger :(

  Profil   Editieren   Zitieren

raiserle
Fachidiot


Beiträge: 144


1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 
18:
<?php     
$sql = @mysql_query("SELECT userid FROM users WHERE uid = '".$gegener."' ");
if(@mysql_num_rows($sql) == 1) {
    $row = @mysql_fetch_object($sql);
    if($row->uid == $uid) {
        //--> normal ist doch hier der selbe user $uid, der gerade die aktion durchführt
        //--> hier müsste dein echo fehler kommen
    }
    else {
        echo "<Script>alert('Fehler! Sie können nicht gegen sich selbst kämpfen!')</script> <Script>history.back(-2)</script>";
        //--> hier ist doch $uid nicht die gleich die uid aus der mysql
    }
}
else {
    // Hier deine Fehlermeldung
    echo "<Script>alert('Fehler! Der ausgewählte Benutzer existiert nicht.')</script> <Script>history.back(-2)</script> " ;
}
?>


aber ich seh hier nicht einen sinnvollen ansatz, überleg doch mal was du da eben in dem script fragst
hole mir datensatz aus tabelle wo die uid gleich $gegner ist
findest du einen, dann prüfe ob die $uid gleich der uid aus der sql ist... soweit komm ich ja noch mit.. ich habe dir auch nen eigenen kommentar reingeschrieben

---
Irren is Menschlich

Wer andern eine Grube gräbt,
sollte darüber nachdenken,
ob sie tief genug ist!!!!

Kameradschaft ist, wenn der
Kamerad schafft !!!!

  Profil   E-Mail   Website   Editieren   Zitieren

hammel
Otto-Normal-Poster


Beiträge: 65


Ich möchte Abfragen ob $gegener in $uid steht. Aber wenn ich einfach nur $uid schreibe, wird nur geprüft ob es der Username des Users ist, der die Aktion gerade durchführt. Gibt es da keine einfacher Lösung? Diesen Code hat mir jemand in einem anderen Forum gepostet.

  Profil   Editieren   Zitieren

languitar
Foren-Team


Beiträge: 2795


Hast du dir mal überlegt ein PHP-Buch zu kaufen und das erst mal durchzuarbeiten. Ich glaube, dir fehlt einfach ein riesiger Berg an Grundlagen und durch deine ganzen Fragen hier scheint das auch nicht besser zu werden.

---
Take a look here!
Lichtblick - Einblick - Ausblick

  Profil   E-Mail   Website   Editieren   Zitieren

hammel
Otto-Normal-Poster


Beiträge: 65


Ich lese Tutorials, doch die helfen mir nicht wirklich weiter... Und ich glaub in einem Buch steht das gleiche drin oder?

  Profil   Editieren   Zitieren

languitar
Foren-Team


Beiträge: 2795


wenns ne wirklich einfach einführung ist, hilfts hoffentlich weiter... Lesen und verstehen ist auch noch was anderes. Du musst dir wirklich einfach mehr Gedanken machen, was da in dem Code passiert.

---
Take a look here!
Lichtblick - Einblick - Ausblick

  Profil   E-Mail   Website   Editieren   Zitieren

hammel
Otto-Normal-Poster


Beiträge: 65


Kannst du mir nicht ein paar Tutorials empfehlen? Bisher hab ich http://tut.php-q.net und http://schattenbaum.net/php/ gelesen.

  Profil   Editieren   Zitieren

raiserle
Fachidiot


Beiträge: 144


Grundlagen
bei diesem link musst dich aber erst registrieren und anmelden, da die videos im intern liegen..
V-Tutorials
sind zwar nicht die besten tuts, aber deutsch.

ansonsten hatte ich das schonmal geschrieben, die von BuZZ
sind auch sehr gut, musst sie aber dort suchen.

ähm, nicht das du denkst bei buzz musst du was dafür zahlen, stimmt schon, aber nicht für die php & mysql tuts
c++ und maya und was weis ich sonst noch, die kosten richtig geld

---
Irren is Menschlich

Wer andern eine Grube gräbt,
sollte darüber nachdenken,
ob sie tief genug ist!!!!

Kameradschaft ist, wenn der
Kamerad schafft !!!!

Diese Nachricht wurde geändert von: raiserle
  Profil   E-Mail   Website   Editieren   Zitieren

hammel
Otto-Normal-Poster


Beiträge: 65


Ich hab ein bisschen nachgelesen und jetzt hab ich diesen Code:

1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 
18: 
19: 
20: 
21: 
22: 
23:
  <?php   @mysql_connect(localhost, web46, *********) OR die(mysql_error());
    mysql_select_db(usr_web46_1) OR die(mysql_error());
  $sql = "SELECT uid FROM users WHERE uid = $gegener";

$result = mysql_query($sql);

if (!$result) {
   echo "Anfrage ($sql) konnte nicht ausgeführt werden : " . mysql_error();
   exit;
}

if (mysql_num_rows($result) == 0) {
   echo "Keine Zeilen gefunden, nichts auszugeben, daher Abbruch";
   exit;
}

while ($row = mysql_fetch_assoc($result)) {
   echo $row["uid"];
   echo $row["punkte"];
}

mysql_free_result($result);
  ?> 


Aber dann kommt diese Fehlermeldung:

Anfrage (SELECT uid FROM users WHERE uid = ) konnte nicht ausgeführt werden : 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 '' at line 1

Diese Nachricht wurde geändert von: hammel
  Profil   Editieren   Zitieren

Ori
Fachidiot


Beiträge: 118


Offenbar ist $gegener leer..

  Profil   E-Mail   Website   Editieren   Zitieren
 

Antworten
Nach oben