Hallo,
ich habe ein eher triviales Problem mit einer mysqli - Abfrage und zwar möchte ich ein Ergebnisarray einer ersten Abfrage für eine zweite Abfrage weiterverwenden, das Problem ist, dass wenn ich die erste Abfrage mit
schließe, das Ergebnis ja verworfen wird und ich es so nicht mehr weiterverwendet kann. Lasse ich dagegen das Statement offen und verschachtele die 2. Abfrage, bekomme ich folgende Fehlermeldung
Hier der Code
Jetzt meine Frage, wie kann ich das Array so speichern, dass es auch nach einem
noch zur Verfügung steht, oder wie kann ich die zweite Abfrage ausführen, ohne eine Kollision mit der noch offenen Abfrage zu verursachen? Ich hoffe jemand hat da einen Tipp, im Web werden die Ergebnisse in den Beispielen immer nur ausgegeben, anscheinend hat noch nie jemand versucht, ein Ergebnis für eine 2. Abfrage weiterzuverwenden...
ich habe ein eher triviales Problem mit einer mysqli - Abfrage und zwar möchte ich ein Ergebnisarray einer ersten Abfrage für eine zweite Abfrage weiterverwenden, das Problem ist, dass wenn ich die erste Abfrage mit
PHP:
$stmt->close();
PHP:
Warning: mysqli::prepare() [mysqli.prepare]: All data must be fetched before a new statement prepare takes place in /.../vt_umsatz_abfragen/abfrage_tagesumsaetze_vt.php on line 29
Hier der Code
PHP:
// Selektion der Tagesumsaetze aller User
$stmt = $db->prepare(
' SELECT
user_name, SUM(vt_umsatz)
FROM
USER_VT
GROUP BY user_name ');
$stmt->execute();
$stmt->bind_result($user_name, $vt_umsatz);
while($stmt->fetch()) {
$ergebnis[$i][0]=$user_name;
$ergebnis[$i][1]=$vt_umsatz;
$i++;
$stmt2 = $db->prepare(
' UPDATE
USER_UMSAETZE
SET
vt_umsatz = ?
WHERE
user_name = ? ');
$stmt2->bind_param('ds', $vt_umsatz, $user_name);
$stmt2->execute();
$stmt2->close();
};
// Speicher freigeben
$stmt->close();
Jetzt meine Frage, wie kann ich das Array so speichern, dass es auch nach einem
PHP:
->close();