DannyLupo: Wie mysql_query dauerhaft nutzen?

Hallo!

Ich habe ein Frage zu einer MySQL-Select-Abfrage per PHP.
Mein Problem ist, dass ich die Abfrage ständig neu Formulieren muss:

$abfrage = @mysql_query('SELECT name FROM gbook ');

$x=0;
while($daten = mysql_fetch_array($abfrage))
{ $x++; $dienamen[$x] = $daten[name]; };

Nach dieser While-Schleife kann ich nicht mehr auf die Datenbank zugreifen und eine 2. Schleife funktioniert nicht mehr:

while($daten = mysql_fetch_array($abfrage))
{ ... };

Wie kann ich denn auf die Datenbank DAUERHAFT IM GANZEN SKRIPT zugreifen, ohne immer wieder die Abfrage vor die Schleife zu schreiben, oder vor eine If-Abfrage, etc.
Kann man die Abfrage auf 0 setzen, wie z.B. einen Zähler x, oder wie wird das gemacht?

Vielen Dank im Voraus für die Antwort,
Euer Danny.

  1. Hallo Danny,

    Wie kann ich denn auf die Datenbank DAUERHAFT IM GANZEN SKRIPT zugreifen, ohne immer wieder die Abfrage vor die Schleife zu schreiben, oder vor eine If-Abfrage, etc.

    Du suchst vermutlich die Funktion mysql_data_seek() suchst.

    Grüße aus Nürnberg
    Tobias

    1. Moin!

      Wie kann ich denn auf die Datenbank DAUERHAFT IM GANZEN SKRIPT zugreifen, ohne immer wieder die Abfrage vor die Schleife zu schreiben, oder vor eine If-Abfrage, etc.
      Du suchst vermutlich die Funktion mysql_data_seek() suchst.

      Und als nächstes macht er dann zwei verschiedene Abfragen im Skript und wundert sich, dass die zweite Abfrage immer die erste löscht.

      - Sven Rautenberg

      --
      "Love your nation - respect the others."
  2. n'abend,

    Wie kann ich denn auf die Datenbank DAUERHAFT IM GANZEN SKRIPT zugreifen, ohne immer wieder die Abfrage vor die Schleife zu schreiben, oder vor eine If-Abfrage, etc.

    zunächst solltest du verstehen, dass mysql_fetch_array() dir immer den nächsten datensatz ausgibt.

    um deine Daten "im ganzen Script benutzen" zu können, könntest du die daten bspw. in ein Array schreiben, auf welches du im Folgenden zugreifst.

      
    $myData = array();  
    $res = mysql_query('SELECT foo FROM bar');  
    while($row = mysql_fetch_array()) $myData[] = $row;  
    
    

    oder

      
    //...  
    while($row = mysql_fetch_array()) $myData[$row['id']] = $row;  
    
    

    um direkt auf gewünschte Daten zugreifen zu können.

    weiterhin schönen abend...

    --
    wer braucht schon großbuchstaben?
    sh:( fo:# ch:# rl:° br:> n4:& ie:{ mo:} va:) de:] zu:} fl:{ ss:? ls:[ js:|
    1. Sehr schön.
      Vielen Dank!

      um deine Daten "im ganzen Script benutzen" zu können, könntest du die daten bspw. in ein Array schreiben, auf welches du im Folgenden zugreifst.