Hallo,
Vorab: Ich nutze StrickenKid.
Ich habe eine ganz normale Query: Etwas wird aus der Datenbank gelesen.
In Einer While-Schleife geht er alle Reihen durch und schreibt mithilfe von sscanf (plugin) die Werte aus den Feldern in die entsprechenden Variablen.
Alles wunderbar.
Nun möchte ich aber unter umständen (je nach dem wie die Werte in einer Spalte sind, entsprechend Datensätze löschen.
Also sende ich eine DELETE-query. Im ersten Durchlauf wird der entsprechende Datensatz gelöscht, danach kommt die Error-Meldung
"Error (0): Function: mysql_store_result called when no result stored."
Folgendermaßen ist es aufgebaut:
mysql_query("SELECT ...");
mysql_store_result();
if(mysql_num_rows() > 0) //Falls überhaupt Datensätze da sind
{
while(mysql_fetch_row(Zielstring, "|"))
{
sscanf(Zielstring, "p<|>......", var1, var2, ...);
if(varx == bestimmter Wert)
{
mysql_query("DELETE FROM ...");
}
else
{
//Code
}
}
}
if(mysql_result_stored()) mysql_free_result();
Alles anzeigen
Hier ist es nochmal zu sehen: Erst wird eine normale Query an die Datenbank gesendet, das Ergebnis wird gepseichert, ist in einem bestimmten Feld pro Reihe ein bestimmter Wert soll ein bestimmter Datensatz gelöscht werden, ansonsten wird mit den Daten gearbeitet.
Am Ende wird das Ergebnis freigegeben.
Sollte die Frage kommen, wieso ich einen bestimmten Datensatz löschen möchte: Die SELECT Abfrage erstreckt sich über 2 Tabellen. für ein bestimmtes Fahrzeug soll aus 2 Tabellen bestimmte Werte gelesen werden. ist in der einen Tabelle ein bestimmter Wert nicht so wie er sein sollte, wird der Datensatz aus der anderen Tabelle gelöscht, da dann irgentetwas nicht stimmt (Datensätze wurden manuell und falsch in die Datenbank eingefügt).
Ich denke das Problem liegt dabei, das ich keine query ausführen kann, während ich mit dem Ergebnis einer anderen query noch arbeite. Da dies mit den Ergebnissen nicht hinhaut. Bin mir da aber nicht sicher, weshalb ich hier nachfrage,
Ich hatte bereits die Überlegung, alle Datensetze die gelöscht werden sollen zwischen zu speichern und erst nach dem freigeben des Ergebnis die Datensätze zu löschen.
Das Problem hierbei: Es ist immer ungewiss ob überhaupt Datensätze gelöscht werden sollen und wenn ja ist nicht klar, wieviele gelöscht werden müssen. Ich kann jedoch kein Array mit einer dynamischen Größe erstellen.
Eventuell liegt das Problem jedoch auch woanders.