mysql_fetch_array "offset"?
jimbob
- php
hallo,
ich hab eine methode einer klasse die eine SELECT-query übersenden soll und das ergebnis später returnen soll!
function getQuery()
{
$this->connect();
$eintrag= "SELECT * from TABLE LIMIT 10";
$result_db= mysql_query($eintrag);
$result= mysql_fetch_array($result_db);
return $result;
$this->close();
}
nun meine hauptfrage:
mit $this->close() beende ich die verbindung und will aber dennoch $result als array vorhanden habe! ist das möglich? oder holt er den offset bzw. den Datensatz immer auf neue?
ich dacht mit
$result= $db->getQuery();
foreach ($result as $data)
{
echo $data['id'];
}
kann ich ma zuerst dieses array holen und später in einer anderen methode abarbeiten lassen. da kommt jedoch nur blödsinn raus!
kann ich dieses ergebnis ohne die verbindung offen zu lassen weiterreichen! mysql_fetch_object?
THX jimbob
hi,
ich hab eine methode einer klasse die eine SELECT-query übersenden soll und das ergebnis später returnen soll!
function getQuery()
{
$this->connect();
$eintrag= "SELECT * from TABLE LIMIT 10";
$result_db= mysql_query($eintrag);
$result= mysql_fetch_array($result_db);
return $result;
$this->close();
}
nun meine hauptfrage:
mit $this->close() beende ich die verbindung
nö - du bist ja schon eine zeile vorher mit return aus deiner funktion ausgestiegen.
und will aber dennoch $result als array vorhanden habe!
was soll die existenz eines arrays mit dem bestehen einer offnen mysql-verbindung zu tun haben?
ich dacht mit
$result= $db->getQuery();
foreach ($result as $data)
{
echo $data['id'];
}
kann ich ma zuerst dieses array holen und später in einer anderen methode abarbeiten lassen. da kommt jedoch nur blödsinn raus!
deine methode getQuery() führt immer genau die gleiche abfrage aus, und liefert dann den inhalt des _ersten_ gefundenen datensatzes als arrays zurück.
das erscheint mir wenig sinnvoll ...
kann ich dieses ergebnis ohne die verbindung offen zu lassen weiterreichen! mysql_fetch_object?
mir scheint, du hast dich mit dem umgang mit mysql in PHP noch nicht allzu intensiv beschäftigt ...
gruß,
wahsaga
nun meine hauptfrage:
mit $this->close() beende ich die verbindung
nö - du bist ja schon eine zeile vorher mit return aus deiner funktion ausgestiegen.
ja sorry des hab ich falsch zusammenkopiert, weil dies nicht der original code ist!
und will aber dennoch $result als array vorhanden habe!
was soll die existenz eines arrays mit dem bestehen einer offnen mysql-verbindung zu tun haben?
was es damit zu tun haben soll?
weil ich ma denk das dieses array welches mysql_fetch_array immer einen datensatz zurückliefert!
ist die verbinung geschlossen, dann kann es die restlichen datensätze nicht holen?
kann ich ma zuerst dieses array holen und später in einer anderen methode abarbeiten lassen. da kommt jedoch nur blödsinn raus!
deine methode getQuery() führt immer genau die gleiche abfrage aus, und liefert dann den inhalt des _ersten_ gefundenen datensatzes als arrays zurück.
das war meine frage!
ich suche eben nach einer methode alle datensätze bereits an ein andere methode zu übergeben! __alle datensätze__
mir scheint, du hast dich mit dem umgang mit mysql in PHP noch nicht allzu intensiv beschäftigt ...
doch hab ich!
hi,
ich suche eben nach einer methode alle datensätze bereits an ein andere methode zu übergeben! __alle datensätze__
ja und warum liest du dann in deiner funktion nicht
__alle datensätze__
in einer schleife aus, anstatt nur den ersten auszulesen und den rest verfallen zu lassen?
gruß,
wahsaga
ja und warum liest du dann in deiner funktion nicht
__alle datensätze__
weil ich nicht wiess wie? zumla ich die DB verbindung nicht offen lassen will!
in einer schleife aus, anstatt nur den ersten auszulesen und den rest verfallen zu lassen?
na das ist ja meine frage gewesen, oder? ob sie verfallen oder nicht?
hi,
in einer schleife aus, anstatt nur den ersten auszulesen und den rest verfallen zu lassen?
na das ist ja meine frage gewesen, oder? ob sie verfallen oder nicht?
so wie du es derzeit machst - ja, natürlich.
aber wer hindert dich denn daran, kurz nachzudenken und sie direkt _in der funktion_ alle in einer schleife zu durchlaufen und in einem array abzulegen? dann gibst du einfach am ende der funktion dieses array zurück, und kannst anschließend in deinem script damit arbeiten.
gruß,
wahsaga
aber wer hindert dich denn daran, kurz nachzudenken und sie direkt _in der funktion_ alle in einer schleife zu durchlaufen und in einem array abzulegen? dann gibst du einfach am ende der funktion dieses array zurück, und kannst anschließend in deinem script damit arbeiten.
danke sehr! dies wäre nun auch meine idee gewesen! nochmals danke!