Ergebnis 1 bis 19 von 19

Thema: Scriptfehler

  1. #1

    Scriptfehler

    Hi!

    Nach langer Zeit, in der ich an meinem Browsergame gearbeitet habe, bin ich dabei ein KS (Kampfscript) zu proggen. Das passiert in PHP.

    Also, die Bezeichnungen sind richtig, alles geprüft, und die Session[name] ist auch richtig, es gibt hallo,name_der_in_der_session_ist aus. Die Datenbank bezeichnungen sind auch richtig. Der Script gibt keine Fehlermeldung aus. Da liegt mein problem. Sonst hab ich es anhand dieser kleinen nervigen, aber doch nützlichen Sätze geregelt. Aber da es diesmal keine gibt und cih den Fehler einfach ne finde... HILFE!

    Hier der Code:

    PHP-Code:
    <?php
    session_start
    ();
    include(
    "../dbconnect.php");
    ?>
    <html>
    <head>
    <title>
    Kampf! - Warlord I
    </title>
    </head>
    <body>
    <?php
    echo "Hallo, ";
    echo 
    $_SESSION['name'];
    echo 
    "<br><br>";
    if (isset(
    $_SESSION['name']))
    {       
    //Anfang_Schleife[1]

    //Nutzer und Gegnerinformationen einholen:
    $username $_SESSION['name'];
    $userdaten_1 "SELECT * `user` WHERE `name´ = $username";
    $userdaten mysql_query($userdaten_1);
    $zufall rand(1,2);
    $gegner_1 "SELECT * FROM `gegner` WHERE `id` = '$zufall' && `rasse` = '$userdaten[rasse]'";
    $gegner mysql_query($gegner_1);
    echo 
    $gegner[texta];
    echo 
    $gegner;
    echo 
    $userdaten;
    }       
    //Ende_Schleife[1]
    ?>
    </body>
    </html>
    Da ich net weiß wo da der fehler ist...schick ich das gesamte ding samt grundgerüst usw.

  2. #2
    so wie ich das sehe hast du vergessen, das du die abfrage nach der query noch in ein array stecken musst...

    also über

    mysql_fetch_array
    oder
    mysql_fetch_assoc

  3. #3
    Hmmm?

    Muss man das? Argh! Jetz weiß ich was ich da falsch mach!^^

    Danke Orckrieger, wenn das klappt liebe ich dich!^^

    edit: Kann man das auch ohne die While schleifen machen?! (sagt ja, sagt ja!^^)

    Geändert von raian (31.07.2005 um 14:09 Uhr)

  4. #4
    Zitat Zitat von raian
    edit: Kann man das auch ohne die While schleifen machen?! (sagt ja, sagt ja!^^)
    Wenns sein muss:

    Ja es geht

    So:

    PHP-Code:
    <?php
    $row 
    mysql_fetch_assoc();


    $row['wasweissich'// Einmaliger Aufruf der Variabele, zuerst gelesener Inhalt wird wiedergegeben
    ?>
    Mfg fanrpg

  5. #5
    Thx!

    So, dann mach ich mich mal wieder an die Arbeit!

    edit:

    Jetz gibts wenigstens ne Fehlermeldung aus^^

    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/webpages/lima-city/adrians/html/quatsch/game/KS/ks.php on line 23

    Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /home/webpages/lima-city/adrians/html/quatsch/game/KS/ks.php on line 27



    Hier der Code der Probleme bereitet:

    Das is der teil...:

    PHP-Code:
    $username $_SESSION['name'];
    $userdaten_1 "SELECT * `user` WHERE `name´ = $username";
    $userdaten mysql_query($userdaten_1);
    $userdaten mysql_fetch_array($userdaten);
    $zufall rand(1,2);
    $gegner_1 "SELECT * FROM `gegner` WHERE `id` = '$zufall' && `rasse` = '$userdaten[rasse]'";
    $gegner mysql_query($gegner_1);
    $userdaten mysql_fetch_assoc($userdaten);
    $gegner mysql_fetch_assoc($gegner); 

    Geändert von raian (31.07.2005 um 17:31 Uhr)

  6. #6
    also ich würde an deiner Stelle zuerst einmal nicht immer die gleichen Variablennamen zu übergeben. Durch die gleiche Benennung übergibst du in den Zeilen
    PHP-Code:
    $userdaten mysql_query($userdaten_1);
    $userdaten mysql_fetch_array($userdaten);
    ...
    $userdaten mysql_fetch_assoc($userdaten); 
    einen falschen Variableninhalt an die Funktion mysql_fetch_assoc.
    Versuch es mal so:
    PHP-Code:
    $userdaten mysql_query($userdaten_1);
    $eineVariable mysql_fetch_array($userdaten);
    ...
    $zweiteVariable mysql_fetch_assoc($userdaten); 
    Durch die gleichen Variablennamen überschreibst du dir die Inhalte, wodurch dann Fehlermeldungen entstehen. Außerdem wird das ganze mit unterschiedlichen Variablennamen auch übersichtlicher

  7. #7
    Beim Gegner klappt es merkwüdigerweise so, aber bei den Userdaten kommt folgener Fehler:

    Zitat Zitat
    Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /home/webpages/lima-city/adrians/html/quatsch/game/KS/ks.php on line 24
    Hier der Codeschnipsel der die Daten aus der Datenbank holt:

    PHP-Code:
    $userdaten_1 "SELECT * FROM `user` WHERE `name´ = '$username'";
    $userdaten_2 mysql_query($userdaten_1);
    $userdaten mysql_fetch_assoc($userdaten_2); 

    Ich seh da kienen Fehler, die Struktur ist genau wie bei der anderen Auswahl. Nur die Variablennamen sind anders. mit dem _1 und dem _2 bin ich auch nicht durcheiandner gekommen und shceinbar ist ach nichts an der Abfrage falsch... ich sollte mir diese die gedöns angewöhnen, aber ich hab vergssen wie das geht... ^^'

    Geändert von raian (01.08.2005 um 08:42 Uhr)

  8. #8
    PHP-Code:
    $userdaten_1 "SELECT * FROM `user` WHERE `name´ = '".$username."'"
    $userdaten_2 mysql_query($userdaten_1); 
    $userdaten mysql_fetch_assoc($userdaten_2); 
    bzw. wo nimmst du die Variabele $username her?

  9. #9
    Also ich vermute mal, dass der Fehler schon in der vorherigen Zeile liegt. Schreib doch einfach mal die Zeile
    PHP-Code:
    $userdaten_2 mysql_query($userdaten_1); 
    um in
    PHP-Code:
    $userdaten_2 mysql_query($userdaten_1) or die mysql_error(); 
    und wenn hier dann eine Fehlermeldung kommt, poste die einfach mal. Dann sollte sich dein Problem lösen lassen.
    Im übrigen musst du in deinem Skript für die SQL-Abfrage nicht mysql_fetch_array und mysql_fetch_assoc gleichzeitig verwenden. In mysql_fetch_array ist die Funktion mysql_fetch_assoc enthalten, so dass du nur mysql_fetch_array verwenden musst.

  10. #10
    Gibt nur das gleich aus wie gewohnt...

    Und die Variable Username hole ich aus einer Session die beim LogIn gesetzt wird. Aber da ist kein Fehler drinne.

  11. #11
    Also laut deiner Fehlermeldung liegt der Fehler in einem falschen bzw. nicht bestehendem Query.
    Hast du dir mal den SQL ausgeben lassen (die SELECT-Anweisung)? Wenn nicht, mach das mal und überprüfe, was da drin steht!
    Ansonsten prüfe, ob in der Variable $username wirklich was drin steht und ob die Schreibweise von Tabellen- und Spaltenname stimmt. Manchmal liegt es an so kleinen Flüchtigkeitsfehlern.

  12. #12
    Da steht ResourceId#4 ^^ (Jedenfalls was ähnliches, ich hbas auswendig geschrieben^^)

  13. #13
    bei sowas hab ich auch gelegentlich unerklärliche probleme.

    schreib die query gleich in die klammer bei mysql_query und tu die nicht in eine variable, so klappts bei mir in der regel.

  14. #14
    Zitat Zitat von raian
    Da steht ResourceId#4 ^^ (Jedenfalls was ähnliches, ich hbas auswendig geschrieben^^)
    Wenn sowas kommt wurde die Daten nicht ordnunggemäß in ein Array übergeben

  15. #15
    Zitat Zitat
    raian:
    Da steht ResourceId#4
    ja, solche Ausgaben sind normal wenn du dir direkt den Query ausgeben lässt.
    Ich geh jetzt mal davon aus, dass du mit PhpMyAdmin arbeitest, was die Datenbanken angeht. Wenn dem so ist, versuch doch mal den SQL direkt im PhpMyAdmin abzusetzen (für die Variable $username musst du dann halt einfach mal einen existierenden Namen einsetzen) und guck was ausgegeben wird.

  16. #16
    Hab, ich, geht aber trotzdem net... klappt so also auch nicht!

  17. #17
    setz mal am Anfagn deines Scripts das hier:

    PHP-Code:
    error_reporting(E_ALL); 

  18. #18
    Also wenn du den SQL direkt im phpMyAdmin nicht absetzen kannst, muss dir im PhpMyAdmin ja ein Fehler ausgegeben werden. Der Fehler würde dann direkt in deiner SELECT-Anweisung liegen.
    Was heißt denn "es geht nicht"? Kommt eine Fehlermeldung im PhpMyAdmin? Und wenn ja, wie lautet die?

  19. #19
    Hab den Fehler gefunden!

    Es war ein Fehler in der Syntax glaube ich. Ich hab halt rumprobiert usw... dann ging es.


    Danke! Ihr habt das alles erst möglich gemacht...^^


Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •