Ich habe in einer DB Einträge, mit Daten (Mehrzahl von Datum ?!? ).
Ich wollte diese löschen lassen und habe folgendes Benutzt.
Leider erzeugt der Code keinen Mysql_error() aber leider auch kein erfolg.
Hier mein Formular:
echo'
<br><br>
---------Eintraege mit gleichem Datum loeschen---------<br>
<form action="del_mehr.php" method="Post">
<input type="hidden" value="'.$name.'" name="login">
<input type="hidden" value="'.$pass.'" name="pass">
<b>ACHTUNG:</b> DATUM MUSS IN DIESER FORM DALIEGEN:<big>JJJJ-MM-TT !!!</big><br>Datum:
<input type="text" value="" name="datum"><br>
<input type="submit" value="Eintraege loeschen" name=" Eintraege Loeschen">
</form>
';//einträge loeschen
und Hier mein PHP-Script:
global $datum;
$datum = mysql_real_escape_string($_POST['datum']);
$datum=htmlspecialchars($datum);
echo $datum;
$eintrag= 'DELETE FROM burgen WHERE Datum='.$datum.'';
mysql_query($eintrag) or die (mysql_error());
echo'
Eintrag geloescht.
'; // Eintrag loeschen
Leider bleiben die Einträge in der DB.
PS:
Ich habe den String $datum geprüft. Dieser kommt auch wirklich bei php-script an.
Ich habe auf der DB die Spalte als typ ‚date‘ eingestellt.
global $datum;
$datum = mysql_real_escape_string($_POST['datum']);
$datum=htmlspecialchars($datum);
$eintrag= "DELETE FROM burgen WHERE Datum='$datum'";
mysql_query($eintrag) or die (mysql_error());
echo'
Eintrag geloescht.
'; // Eintrag loeschen
Du sollst in deinem Script eine Kontrollausgabe machen.
$eintrag= ‚…‘;
echo $eintrag;
Wenn du selbst irgendwas ersetzt, dann testest du u.U. eben nicht genau das, was dein Script an die DB sendet - und damit wird der „Test“ unsinnig.
Btw., so wie gezeigt kann der Code gar nicht funktionieren, weil er einen Syntaxfehler enthält, weil du mit den Stringbegrenzer-Zeichen nicht vernünftig umgehst.
Solltest du das mit „der Code funktioniert nicht“ gemeint haben - dann gehören dir echt die Ohren langgezogen!