Ankündigung

Einklappen
Keine Ankündigung bisher.

S: Hilfe bei mysqlbefehlen in function

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • S: Hilfe bei mysqlbefehlen in function

    PHP-Code:
    <?php
    function laufen($x,$y){
                        if(
    $x!=0&&$y!=0){
                            
    mysql_query("UPDATE charakter Set x=$x,y=$y WHERE benutzername='$benutzername'");
                            
    $abfrage=mysql_query("SELECT terrain FROM karte WHERE x=$x AND y=$y");
                            while(
    $zeile=mysql_fetch_array($abfrage)){
                            
    $terrain=$zeile['terrain'];
                            }
                            if(
    $terrain==""){
                                
    $j=mt_rand(1,100);
                                if(
    $j>0&&$j<21){
                                    
    $terrain=Wald;
                                }
                                if(
    $j>21&&$j<41){
                                    
    $terrain=Steppe;
                                }
                                if(
    $j>41&&$j<46){
                                    
    $terrain=Berg;
                                }
                                if(
    $j>46&&$j<51){
                                    
    $terrain=Wüste;
                                }
                                if(
    $j>51&&$j<61){
                                    
    $terrain=Gewässer;
                                }
                                if(
    $j>61&&$j<76){
                                    
    $terrain=Hügel;
                                }
                                if(
    $j>76&&$j<101){
                                    
    $terrain=Weideland;
                                }
                                
    mysql_query("INSERT INTO karte(x,y,terrain)VALUES($x,$y,'$terrain')");
                            }
                            
    $area2=start;
                        }
                    }
    switch(
    $area2){
                        case 
    norden:
                            
    $y++;
                            
    laufen($x,$y);
                            break;
                        case 
    nordwesten:
                            
    $x--;
                            
    $y++;
                            
    laufen($x,$y);
                            break;
                        case 
    westen:
                            
    $x--;
                            
    laufen($x,$y);
                            break;
                        case 
    suedwesten:
                            
    $x--;
                            
    $y--;
                            
    laufen($x,$y);
                            break;
                        case 
    sueden:
                            
    $y--;
                            
    laufen($x,$y);
                            break;
                        case 
    suedosten:
                            
    $x++;
                            
    $y--;
                            
    laufen($x,$y);
                            break;
                        case 
    osten:
                            
    $x++;
                            
    laufen($x,$y);
                            break;
                        case 
    nordosten:
                            
    $x++;
                            
    $y++;
                            
    laufen($x,$y);
                            break;
                    }
    ?>
    meine frage nun wieso funktioniert keine der mysql befehle in der funktion... schreibe ich sie aus der funktion raus klappt es wäre aber viel mehr code....wieso?

    thx und gruss tobi

    edit: tut mir leid kannte ich nicht

  • #2
    Weist du wozu es hier das [PHP]-Element beim posten gibt ?

    Kommentar


    • #3
      Gibt es eine Fehlermeldung? Nochmal mit error_reporting(E_ALL) am Anfang des Skripts versuchen.
      Lass dir die sql-statements mal ausgeben und benutze mysql_errno/mysql_error, um sql-Fehler anzuzeigen.
      Woher kommt $benutzername?

      Kommentar


      • #4
        keine fehlermeldung und wenn ich teste ob er die anfrage geschickt hat bekomme ich auch ein True. Benutzername kommt vom Loginscript und wird auch richtig übergeben(getestet).
        die sache ist ja das die abfrage im hauptscript perfekt so funktionieren bloss nicht sobald sie in der function sind.(hab ich alles getestet) muss also irgendwie daran liegen das sie in einer function stehen...

        Kommentar


        • #5
          wo wird $benutzername an die Funktion übergeben? In dem Codestück da oben jedenfalls nicht. Und wenn Du dann keine "undefined variable" Warnung erhälst, hast Du die Fehleranzeige nicht an. http://de2.php.net/manual/de/functio...-reporting.php
          Hast Du Du jetzt schon die sql-statements mit echo anzeigen lassen?
          PHP-Code:
          <?php
          function laufen($x,$y){
            if(
          $x!=0&&$y!=0){ 
              
          $sql "UPDATE charakter Set x=$x,y=$y WHERE benutzername='$benutzername'";
              echo 
          '

          Abfrage:'
          $sql'</p>';
              
          $result mysql_query($sql);
              if (!
          $result) die(mysql_error());

              
          ?>

          Kommentar

          Lädt...
          X