Brauche Hilfe für dieses MySQL SELECT
Lily
- datenbank
Hi,
ich will zwei meiner Tabellen in einer Datenbank verknüpfen, von der einen Tabelle soll k.backupDirectory mit der id=$_GET['delete'], von der anderen c.filename mit customerID=$_GET['delete'] geholt werden.
Habe also folgendes versucht:
$sql = "SELECT k.backupDirectory, c.filename FROM kunden k WHERE id='".$_GET['delete']."' INNER JOIN createdbackups c ON k.id = c.customerID";
$result = mysql_query($sql);
$row = mysql_fetch_assoc($result);
foreach (glob($row['filename']) as $filename) { //Alle Dateien in Backupordner des Kunden löschen
unlink($filename);
}
Ich habe mich bei der Abfrage aber vermutlich total "verhaspelt".. auf jeden Fall kommt immer:
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in C:\Programme\xampp\htdocs\enbit-server\list.php on line 9
Nun habe ich die Fragen an euch ob jemand weiß warum das nicht funktioniert.
Vielen Dank
yo,
der Join steht vor der where klausel...
SELECT k.backupDirectory, c.filename
FROM kunden k
INNER JOIN createdbackups c ON k.id = c.customerID
WHERE id='".$_GET['delete']."'
Ilja
SELECT k.backupDirectory, c.filename
FROM kunden k
INNER JOIN createdbackups c ON k.id = c.customerID
WHERE id='".$_GET['delete']."'
Hi Ilja,
das hatte ich auch versucht, kam aber die gleiche Fehlermeldung.
SELECT k.backupDirectory, c.filename
FROM kunden k
INNER JOIN createdbackups c ON k.id = c.customerID
WHERE id='".$_GET['delete']."'Hi Ilja,
das hatte ich auch versucht, kam aber die gleiche Fehlermeldung.
Die Fehlermeldung deutet zunächst mal auf eine ungültige Verbindungskennung. Öffnest Du die Verbindung richtig?
Ich habe es jetzt hinbekommen :)
Der Fehler war, das ich nicht k.id geschrieben habe.
Nun steh ich aber vor meinem nächsten Problem.
Ich will 2 Datenbanktabellen löschen:
DELETE FROM kunden, createdbackups WHERE kunden.id = createdbackups.currentID AND kunden.id = 1
Das klappt jedoch auch wieder nicht.
Könnt ihr mir weiterhelfen?
Hallo lily
Ich habe mich bei der Abfrage aber vermutlich total "verhaspelt".. auf jeden Fall kommt immer:
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in C:\Programme\xampp\htdocs\enbit-server\list.php on line 9
Die Fehlermeldung ist nicht besonders Aussagekräftig. Da steht nur: sorry, _irgendetwas_ ist schiefgegangen. Probier mal, dir den Fehler genauer anzeigen zu lassen. Etwa so (habe deine Quellcode mal ergänzt...)
$sql = "SELECT k.backupDirectory, c.filename FROM kunden k WHERE id='".$_GET['delete']."' INNER JOIN createdbackups c ON k.id = c.customerID";
$result = mysql_query($sql);
if($result)
{
$row = mysql_fetch_assoc($result);
foreach (glob($row['filename']) as $filename) { //Alle Dateien in Backupordner des Kunden löschen
unlink($filename);
}
else
{
//an dieser Stelle kannst du dann spaeter auch andere Massnahmen ergreifen, falls noetig
echo "Fehler:".mysql_error()."<br />";
echo $sql;
}
Liebe Grüße mbr
P.S.: Dir ist hoffentlich klar, dass mysql_fetch_assoc($result); nur den _ersten_ Datensatz liefert, den deine query zurueckgibt? Falls es mehrere gibt Datensätze gibt, müßtest du das ganze noch in eine Schleife packen...