Tabellen eines Benutzers ...

chriha

Mitglied
Tacho,
ich hab ne Frage. Ich habe 2 Tabellen in meiner Datenbank, in der einen befindet sich die SessionID (die der User beim Login erhält) und die UserID (die der User bei der Registrierung erhält). In der anderen jedoch befindet sich nur die UserID. PHP weiß aber nicht, welche UserID der User in der anderen Tabelle hat. Wie greif ich denn jetzt auf bestimmte Tabellen/Spalten des eingeloggten Users zu? Kann mir da jemand helfen?
Wär cool!
 
Check this out:
PHP:
$users=mysql_query("select * from tabelle where userid='$userid'",$db);
$user=mysql_fetch_array($users);
 
Irgendwie schaff ich es seit einigen Tagen garnicht mehr auf die Datenbank zuzugreifen. Momentan erhalte ich folgenden Fehler:
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 'a8117397a8a226dd76be5c7f877073ac''' at line 3 - Fehler Nr. 1064
Meine Seite schaut so aus:
...
und die session.php so:
...
Ich hoffe man kann mir da weiterhelfen ...
 
Zuletzt bearbeitet:
Sodala, das vorherige Problem hat sich erledigt. Nun bin ich jedoch wieder bei dem alten Problem, bei dem ich nicht auf andere Tabellen/Spalten des Users zugreifen kann. Ich hab das mit dem mysql_fetch_array ausprobiert, bekam aber folgende Fehlermeldung:
Warning: mysql_fetch_array(): The result type should be either MYSQL_NUM, MYSQL_ASSOC or MYSQL_BOTH. in blabla\game.php on line 252
Das ist mein Code
PHP:
<?php
session_start();

include ("includes/config.inc.php");
include ("includes/session.php");
include ("includes/users.php");

// Erfahrungspunkte prüfen und eventuell !Level aktualisieren!
function get_rank()
    {
$sql_erf = mysql_query ("SELECT erfahrung, rank
                         FROM users
                         WHERE session = '".session_id()."'")
                         or die("Konnte Tabelle nicht auswählen" . mysql_error());
$erfpunkte = mysql_result ($sql_erf, 0, 'erfahrung');
      if ($erfpunkte == 1 || $erfpunkte <= 99)
      {
        $level_up1 = mysql_query("UPDATE users
                                  SET rank = '1'
                                  WHERE session = '".session_id()."'")
                                  or die("Konnte Tabelle nicht aktualisieren!" . mysql_error());
      }
      elseif ($erfpunkte == 100 || $erfpunkte <= 299)
      {
        $level_up2 = mysql_query("UPDATE users
                                  SET rank = '2'
                                  WHERE session = '".session_id()."'")
                                  or die("Konnte Tabelle nicht aktualisieren!" . mysql_error());
      }
      elseif ($erfpunkte == 300 || $erfpunkte <= 699)
      {
        $level_up3 = mysql_query("UPDATE users
                                  SET rank = '3'
                                  WHERE session = '".session_id()."'")
                                  or die("Konnte Tabelle nicht aktualisieren!" . mysql_error());
      }
      elseif ($erfpunkte == 700 || $erfpunkte <= 1499)
      {
        $level_up4 = mysql_query("UPDATE users
                                  SET rank = '4'
                                  WHERE session = '".session_id()."'")
                                  or die("Konnte Tabelle nicht aktualisieren!" . mysql_error());
      }
      elseif ($erfpunkte == 1500 || $erfpunkte <= 2999)
      {
        $level_up5 = mysql_query("UPDATE users
                                  SET rank = '5'
                                  WHERE session = '".session_id()."'")
                                  or die("Konnte Tabelle nicht aktualisieren!" . mysql_error());
      }
      elseif ($erfpunkte == 3000 || $erfpunkte <= 4999)
      {
        $level_up6 = mysql_query("UPDATE users
                                  SET rank = '6'
                                  WHERE session = '".session_id()."'")
                                  or die("Konnte Tabelle nicht aktualisieren!" . mysql_error());
      }
      elseif ($erfpunkte == 5000 || $erfpunkte <= 9999)
      {
        $level_up7 = mysql_query("UPDATE users
                                  SET rank = '7'
                                  WHERE session = '".session_id()."'")
                                  or die("Konnte Tabelle nicht aktualisieren!" . mysql_error());
      }
      elseif ($erfpunkte == 10000 || $erfpunkte <= 19999)
      {
        $level_up8 = mysql_query("UPDATE users
                                  SET rank = '8'
                                  WHERE session = '".session_id()."'")
                                  or die("Konnte Tabelle nicht aktualisieren!" . mysql_error());
      }
      elseif ($erfpunkte == 20000 || $erfpunkte <= 39999)
      {
        $level_up9 = mysql_query("UPDATE users
                                  SET rank = '9'
                                  WHERE session = '".session_id()."'")
                                  or die("Konnte Tabelle nicht aktualisieren!" . mysql_error());
      }
      elseif ($erfpunkte == 40000 || $erfpunkte <= 69999)
      {
        $level_up10 = mysql_query("UPDATE users
                                  SET rank = '10'
                                  WHERE session = '".session_id()."'")
                                  or die("Konnte Tabelle nicht aktualisieren!" . mysql_error());
      }
    }


// Erfahrung bis zum nächsten Level
function next_rank()
    {
      global $connection;
      // Ausgabe des Levels
	  $query = "SELECT rank
                FROM users
                WHERE session = '".session_id()."'";
  	  $result = mysql_query($query, $connection)
                or die("MySQL-Fehler" . mysql_error());
	  $rank = mysql_result($result, "rank");
    if ($rank == 1)
        {
          $level_next1 = mysql_query("UPDATE users
                                      SET next_rank = '100'
                                      WHERE session = '".session_id()."'")
                                      or die("Konnte next_rank Spalte nicht aktualisieren!" . mysql_error());
        }
    elseif ($rank == 2)
        {
          $level_next2 = mysql_query("UPDATE users
                                      SET next_rank = '300'
                                      WHERE session = '".session_id()."'")
                                      or die("Konnte next_rank Spalte nicht aktualisieren!" . mysql_error());
        }
    elseif ($rank == 3)
        {
          $level_next3 = mysql_query("UPDATE users
                                      SET next_rank = '700'
                                      WHERE session = '".session_id()."'")
                                      or die("Konnte next_rank Spalte nicht aktualisieren!" . mysql_error());
        }
    elseif ($rank == 4)
        {
          $level_next3 = mysql_query("UPDATE users
                                      SET next_rank = '1500'
                                      WHERE session = '".session_id()."'")
                                      or die("Konnte next_rank Spalte nicht aktualisieren!" . mysql_error());
        }
    elseif ($rank == 5)
        {
          $level_next3 = mysql_query("UPDATE users
                                      SET next_rank = '3000'
                                      WHERE session = '".session_id()."'")
                                      or die("Konnte next_rank Spalte nicht aktualisieren!" . mysql_error());
        }
    elseif ($rank == 6)
        {
          $level_next3 = mysql_query("UPDATE users
                                      SET next_rank = '5000'
                                      WHERE session = '".session_id()."'")
                                      or die("Konnte next_rank Spalte nicht aktualisieren!" . mysql_error());
        }
    elseif ($rank == 7)
        {
          $level_next3 = mysql_query("UPDATE users
                                      SET next_rank = '10000'
                                      WHERE session = '".session_id()."'")
                                      or die("Konnte next_rank Spalte nicht aktualisieren!" . mysql_error());
        }
    elseif ($rank == 8)
        {
          $level_next3 = mysql_query("UPDATE users
                                      SET next_rank = '20000'
                                      WHERE session = '".session_id()."'")
                                      or die("Konnte next_rank Spalte nicht aktualisieren!" . mysql_error());
        }
    elseif ($rank == 9)
        {
          $level_next3 = mysql_query("UPDATE users
                                      SET next_rank = '40000'
                                      WHERE session = '".session_id()."'")
                                      or die("Konnte next_rank Spalte nicht aktualisieren!" . mysql_error());
        }
    elseif ($rank == 10)
        {
          $level_next3 = mysql_query("UPDATE users
                                      SET next_rank = '70000'
                                      WHERE session = '".session_id()."'")
                                      or die("Konnte next_rank Spalte nicht aktualisieren!" . mysql_error());
        }
    }


// Rangnamen nach Ruhmpunkten
function get_rang()
    {
        $rang_sql = mysql_query ("SELECT ruhm
                          FROM users
                          WHERE session = '".session_id()."'")
                          or die (mysql_error());
        $get_ruhm = mysql_result ($rang_sql, 'ruhm');
        if ($get_ruhm == 0 || $get_ruhm <= 50)
            {
            $rang = mysql_query("UPDATE users
                                      SET rangname = 'Fahranfänger'
                                      WHERE session = '".session_id()."'")
                                      or die("Konnte Tabelle nicht aktualisieren!" . mysql_error());
            }
        elseif ($get_ruhm == 51 || $get_ruhm <= 150)
            {
            $rang = mysql_query("UPDATE users
                                 SET rangname = 'Aspirant'
                                 WHERE session = '".session_id()."'")
                                 or die("Konnte Tabelle nicht aktualisieren!" . mysql_error());
            }
    }



// Inventar
$buecher_sql = mysql_query ("SELECT buch_a, buch_b, buch_c
                          FROM users
                          WHERE session = '".session_id()."'")
                          or die ("Fehler 103!" . mysql_error());
$buecher_result = mysql_result ($buecher_sql, 'buch_a, buch_b');
$buch_a_result = mysql_result ($buecher_sql, 'buch_a');
$buch_b_result = mysql_result ($buecher_sql, 'buch_b');
$buch_c_result = mysql_result ($buecher_sql, 'buch_c');
if ($buecher_result == 0)
    {
        $show_kein_buch = $kein_buch;
    }
if ($buch_a_result == 1)
    {
        $show_buch_a = $buch_a;
    }
if ($buch_b_result == 1)
    {
        $show_buch_b = $buch_b;
    }
if ($buch_c_result == 1)
    {
        $show_buch_c = $buch_c;
    }

// Funktionen ausführen
get_rank();
next_rank();
get_rang();


$info_sql = mysql_query ("SELECT *
                          FROM users
                          WHERE session = '".session_id()."'")
                          or die ("Fehler 103!" . mysql_error());
$show_stat_mut = mysql_result ($info_sql, 0, 'mut');
$show_stat_reaktion = mysql_result ($info_sql, 0, 'reaktion');
$show_stat_ausdauer = mysql_result ($info_sql, 0, 'ausdauer');
$show_stat_intelligenz = mysql_result ($info_sql, 0, 'intelligenz');
$level = mysql_result ($info_sql, 0, 'rank');
$username = mysql_result ($info_sql, 0, 'username');
$money = mysql_result ($info_sql, 0, 'euro');
$erfahrungspunkte = mysql_result ($info_sql, 0, 'erfahrung');
$show_next_rank = mysql_result ($info_sql, 0, 'next_rank');
$ruhmpunkte = mysql_result ($info_sql, 0, 'ruhm');
$show_rangname = mysql_result ($info_sql, 0, 'rangname');


$battle_sql = mysql_query ("SELECT *
                            FROM battlestats
                            WHERE userid = '$userid'")
                            or die (mysql_error());
$result_battle_otwon = mysql_fetch_array ($battle_sql, 'ot_won');


require_once('includes/template.php');

$tp=&new templateParser('templates/game.html');

$tags=array('title'=> $page_title,
            'copyright'=> $copyright,
            'pur_version'=> $pur_version,
            'useronline'=> $usersonline,
            'update'=> $update,
            'show_stat_mut' => $show_stat_mut,
            'show_stat_reaktion' => $show_stat_reaktion,
            'show_stat_ausdauer' => $show_stat_ausdauer,
            'show_stat_intelligenz' => $show_stat_intelligenz,
            'show_stat_erf' => $erfahrungspunkte,
            'show_stat_rank' => $show_stat_rank,
            'show_next_rank' => $show_next_rank,
            'username' => $username,
            'money' => $money,
            'erfahrungspunkte' => $erfahrungspunkte,
            'rank_next' => $rank_next,
            'ruhmpunkte' => $ruhmpunkte,
            'level' => $level,
            'show_rangname' => $show_rangname,
            'show_buch_a' => $show_buch_a,
            'show_buch_b' => $show_buch_b,
            'show_buch_c' => $show_buch_c,
            'kein_buch' => $show_kein_buch,
            'home' => $home,
            'dein_auto' => $dein_auto,
            'ot_won' => $result_battle_otwon);

$tp->parseTemplate($tags);

echo $tp->display();

?>
Und das ist Zeile 252:
PHP:
$result_battle_otwon = mysql_fetch_array ($battle_sql, 'ot_won');
Für Hilfe bin ich immer noch dankbar ;)
 
Zurück