Query abgebrochen ?
Martin Hein
- php
Hallo Forum,
folgendes Script wir zum Löschen aus zwie DB-Tabellen
verwedent:
--------------------------------------------------------------------
$offline_DelStatm = "DELETE FROM content\_offline
WHERE site\_id
= ".$_GET['site_id'];
$offline_DelReslt = mysql($db1Name, $offline_DelStatm);
$online_DelStatm = "DELETE FROM content\_online
WHERE site\_id
= ".$_GET['site_id'];
$online_DelReslt = mysql($db1Name, $online_DelStatm);
header("location:./?mode=1");
--------------------------------------------------------------------
... damit sollten beide Datensätze in beide Tabellen, je nach Existenz gelöscht werden. Ich habe nun einen Datensatz gefunden,
der in der einen Tabelle noch existiert.
Was kann es dafür für eine Erklärung geben?
merci für Tipps und
beste gruesse,
martin
Ich grüsse den Cosmos,
header("location:./?mode=1");
Das ist falsch.
... damit sollten beide Datensätze in beide Tabellen, je nach Existenz gelöscht werden. Ich habe nun einen Datensatz gefunden,
der in der einen Tabelle noch existiert.Was kann es dafür für eine Erklärung geben?
Na z.B. das der Datensatz mit deinem WHERE nicht übereinstimmt und daher nicht gelöscht wird.
Und somit erkläre ich das Ratespiel für eröffnet, da es weder einen Datenbankauszug gibt noch einen Wert, der als site_id übergeben wird.
Möge das "Self" mit euch sein
... damit sollten beide Datensätze in beide Tabellen, je nach Existenz gelöscht werden. Ich habe nun einen Datensatz gefunden,
der in der einen Tabelle noch existiert.Was kann es dafür für eine Erklärung geben?
Na z.B. das der Datensatz mit deinem WHERE nicht übereinstimmt und daher nicht gelöscht wird.
Und somit erkläre ich das Ratespiel für eröffnet, da es weder einen Datenbankauszug gibt noch einen Wert, der als site_id übergeben wird.
ich habe das nun nicht explizit dazu geschrieben, denn ich dachte, es würde daraus deutlich werden, dass ich hier nicht näher auf die
werte eingehe: querys stimmen natürlich und lassen sich z.b unter phpmyadmin ausführen.
Ich grüsse den Cosmos,
querys stimmen natürlich und lassen sich z.b unter phpmyadmin ausführen.
Dann gibt es nur zwei möglichkeiten:
1. du hast kein Problem
2. du setzt die Querys falsch ab
BTW: Ob sich was ausführen lässt und ob es erfolgreich war, sind erstmal zwei verschiedene Stiefel.
Möge das "Self" mit euch sein
was passiert, wenn zwischendurch der mysql-server abrauscht ?
wartet das php-script dann bis zum sanknimmerleitstag mit dem
"header()" ?
irgendwo da muss mein problem sein.
beste gruesse,
martin
Hallo Martin,
was passiert, wenn zwischendurch der mysql-server abrauscht ?
wartet das php-script dann bis zum sanknimmerleitstag mit dem
"header()" ?
nö, natürlich nicht. Deswegen solltest Du doch den Rückgabewert von mysql_query() überprüfen :-)
Freundliche Grüße
Vinzenz
Hallo Martin,
folgendes Script wir zum Löschen aus zwie DB-Tabellen
verwedent:
bitte verbessere es :-)
> --------------------------------------------------------------------
> $offline_DelStatm = "DELETE FROM `content_offline` WHERE `site_id` = ".$_GET['site_id'];
// Trau niemandem, nicht mal Dir selbst :-)
// oder besser: Es ist _immer_ eine gute Idee, Daten kontextgemäß zu
// maskieren. Gewöhne es Dir einfach an.
$offline_DelStatm = "DELETE FROM content_offline WHERE site_id = " . [link:http://www.php.net/manual/de/function.mysql-real-escape-string.php@title=mysql_real_escape_string]($_GET['site_id']);
$offline_DelReslt = mysql_query($db1Name, $offline_DelStatm);
// Überprüfe, ob Deine Abfrage erfolgreich ausgeführt werden konnte.
if ($offline_DelReslt) {
$count = [link:http://www.php.net/manual/de/function.mysql-affected-rows.php@title=mysql_affected_rows()];
// Wieviele sollten Deiner Ansicht nach gelöscht werden
}
else {
// Was auch immer Du tun willst, wenn die Abfrage zurückgewiesen wurde.
}
[...]
> header("location:./?mode=1");
zu header() hat Dir Manuel ja bereits gesagt, dass Du da einen Fehler drin hast, auch wenn Dein Client das vielleicht akzeptiert. Lies Dir bitte im Handbuch die Anmerkung zum Location-Header durch, dann siehst Du auch, was Du wie verbessern kannst.
Freundliche Grüße
Vinzenz
Hallo Vinzenz,
der Datensatz soll gelöscht werden, sofern er denn vorhanden
ist. Ob er vorhanden ist, weiss ich an der Stelle nicht.
"header()": das kann eigentlich die einzige Ursache sein
und wenn das probelmatisch ist, hab ich den Fehle jetzt
gefunden ;)
besten dank für den hinweis,
martin