ERLEDIGT
JA
JA
ANTWORTEN
3
3
ZUGRIFFE
526
526
EMPFEHLEN
-
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 FehlermeldungPHP-Code:$stmt->close();
Hier der CodePHP-Code: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
Jetzt meine Frage, wie kann ich das Array so speichern, dass es auch nach einemPHP-Code:// 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();
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...PHP-Code:->close();
Es war einmal vor langer Zeit, da lebte die Variable ist_nichts_wert.
Da kam ein schlauer Programmierer und setzte noch ein $ davor.
-
Hab das Problem inzwischen selbst gelöst, mit einem Mix aus mysql und mysqli - nicht schön, aber es funktioniert...

Falls es jemanden interessiert, hier der Code:
Falls jemand einen eleganteren Lösungsvorschlag hat, probiere ich diesen gerne auch ausPHP-Code:<?php
// MySQLi Datenbankverbindung herstellen
include_once('../login_config.php');
// MySQL-Datenbankverbindung herstellen
$mysql = mysql_connect('localhost', '***', '***')
OR DIE ('Keine Verbindung hergestellt!');
mysql_select_db('db***')
OR DIE ('Datenbank nicht gefunden!');
$abfrage = 'SELECT user_name FROM USER_VT GROUP BY user_name';
$ergebnis = mysql_query($abfrage);
while($row = mysql_fetch_object($ergebnis)){
$user = $row->user_name;
$stmt = $db->prepare(
' UPDATE
USER_UMSAETZE
SET
vt_umsatz = vt_umsatz + (SELECT SUM(vt_umsatz) FROM USER_VT WHERE user_name = ?)
WHERE
USER_UMSAETZE.user_name = ?');
$stmt->bind_param('ss', $user, $user);
$stmt->execute();
$stmt->close();
};
?>
Es war einmal vor langer Zeit, da lebte die Variable ist_nichts_wert.
Da kam ein schlauer Programmierer und setzte noch ein $ davor.
-
Du kannst das ganze doch auch mit mysqli prozedural und nicht oo erstellen. Dann brauchst den mysql Mix doch eigentlich nicht?
-
Stimmt, mysqli geht ja auch prozedural, danke für den Hinweis, werde ich wenn Zeit ist auf mysqli ändern
Es war einmal vor langer Zeit, da lebte die Variable ist_nichts_wert.
Da kam ein schlauer Programmierer und setzte noch ein $ davor.
Ähnliche Themen
-
MySqli Abfrage ob Tabelle existiert
Von Spelmann im Forum PHPAntworten: 4Letzter Beitrag: 04.08.10, 19:46 -
Abfrage mehrfach verwenden
Von luchs3 im Forum PHPAntworten: 10Letzter Beitrag: 06.07.09, 22:25 -
[Access] Parameter Abfrage per VBA verwenden
Von Thomas Darimont im Forum Office-AnwendungenAntworten: 1Letzter Beitrag: 26.08.08, 11:24 -
[VB.NET] Abfrageergebnis für neue Abfrage verwenden
Von deusfalsus im Forum .NET CaféAntworten: 3Letzter Beitrag: 15.07.08, 16:45 -
sql server 2000 Abfrage einer Abfrage
Von supafunk im Forum Relationale DatenbanksystemeAntworten: 1Letzter Beitrag: 15.04.05, 18:20





Zitieren
Login






[PHP][Snippet] Array zu XML konvertieren