Marco Weber: problem: mit php auf mysql zugreifen...

Hallo!
ich habe mir ein tutorial zu mysql gelesen und woltle es ma testen...
ich habe nutzer_name und nutzer_pw im table nutzer...
ach ja und die nutzer_sid is da auch gespeichert... nun geschieht aber nix... :-(

wenn ich z.b. einen existierenden nutzer auswählen will mit:
$abfrage="SELECT * FROM nutzer WHERE nutzer_name=$namerein";
dann sind die variablen $nutzer_passwort usw. nicht gesetzt...
was mache ich falsch??

also das ist der source:
natürlich steht da mehr drin, aber das relevante habe ich nur rausgenommen:

$verbindung = @mysql_connect("localhost","root","");

if ($verbindung)
{

if($namerein <> "" && $sid <> "")
  {

$abfrage="SELECT * FROM nutzer WHERE nutzer_name=$namerein";
        $erg = mysql_db_query("adressen",$abfrage,$verbindung);
        $sid_max = 10+(1*$nutzer_sid);
        if($sid == $nutzer_sid && $sid_aktuell <= $sid_max)
        {

$abfrage="UPDATE nutzer SET nutzer_sid=$sid_aktuell WHERE nutzer_name=$namerein";
                   $erg = mysql_db_query("adressen",$abfrage,$verbindung);
                   $sid=$sid_aktuell;

#####LOGIN-BEREICH#####
        }
  }

}
else
{
  echo "<p class="text" style="margin-left:10px">Connection to MYSQL failed... :-(<br>Try again in a few minutes or contact Marco Weber...</p>";
}

des weiteren habe ich eine mysql database mit adressen drin...
wenn ich z.b. mit
$abfrage="SELECT * FROM nutzer WHERE Land='Deutschland'";
alle adressen aus "Deutschland" von der db ausgeben will, wie kann ich dann user für user einzeln durcharbeiten??

VIELEN DANK für eure Hilfe! :-))

MFG MARCO

  1. Hi,

    $abfrage="SELECT * FROM nutzer WHERE nutzer_name=$namerein";

    das Statement _ohne_ Variablen muß z.B. folgendermaßen aussehen:

    SELECT * FROM nutzer WHERE nutzer_name='Beispielname'

    Laß Dir mal $abfrage ausgeben und überprüfe, ob es dem auch wirklich entspricht. Achte vor allem auf die Singlequotes!

    wenn ich z.b. mit
    $abfrage="SELECT * FROM nutzer WHERE Land='Deutschland'";
    alle adressen aus "Deutschland" von der db ausgeben will, wie kann ich dann user für user einzeln durcharbeiten??

    Das verstehe ich nicht. Nach der Ausführung des Statements bekommst Du die Ergebnisse zeilenweise zurück, wenn Du sie entsprechend mit z.B. mysql_fetch_array in einer while-Schleife herausliest. Ist das nicht "User für User"?

    Cheatah

    1. Hallo! :-)

      mysql_fetch_array in einer while-Schleife herausliest. Ist das nicht "User für User"?

      genau das habe ich gemeint... *g*
      ...aber wie mache ich das??

      etwa so:

      i=0;
      while(mysql_fetch_lenght>=i)
      {
      mysql_fetch_array(i);

      ####....ausgabe der daten bla bla bla####

      ++i;

      }

      ein code beispiel wäre sehr hilfreich... :-)

      MFG MARCO

      1. Hi,

        ein code beispiel wäre sehr hilfreich... :-)

        http://www.php.net/manual/en/function.mysql-fetch-array.php

        Jan (Linksetzter i.V.)
        --

    2. hallo nomma! :-)

      ich dachte vielleicht könnte das weiterhelfen:
      also die abfrage sieht so aus:
      SELECT * FROM nutzer WHERE nutzer_name='jaitropfaim'
      und das ergebniss so:
      Resource id #2

      aber die skalare wie $nutzer_password, $nutzer_sid sind alle nicht verfügbar, also wurden nicht gesetzt, obwohl die im table drin sind... :-(

      MFG Marco

      1. Hi,

        aber die skalare wie $nutzer_password, $nutzer_sid sind alle nicht verfügbar, also wurden nicht gesetzt, obwohl die im table drin sind... :-(

        herrje, die werden ja auch nicht gesetzt :-)

        mysql_fetch_array liefert Dir ein (von Dir benamstes ($x = mysql_fetch_array)) Array zurück, das Du wie jedes andere Array behandelst. Welche Spalte unter welchem Index zu finden ist, darfst Du selbst rausfinden ;-)

        Allgemein: Du solltest lernen, Dich in einer Dokumentation zurechtzufinden. Die für PHP findest Du sehr leicht unter http://www.php.net/. Damit sparst Du Dir viel Wartezeit und anderen Erklärungen, die Du selbst längst hättest finden können...

        Cheatah