Computerhilfen.de Logo
Forum
Tipps
News

Mal wieder PHP MySQL

Habe ein kleines Problem beim löschen von Datensätzen aus meiner MySQL DB.

Folgender Code bereitet Probleme:

<?php
$i 
0;
$connect mysql_connect("localhost""******""*******");
$db mysql_select_db("*******"$connect);
$sql "SELECT * FROM gruss";
$result mysql_query($sql);

$connect or die ("Fehler: MySQL Verbindung nicht möglich!");
$db or die ("Verbindung zur Datenbank nicht möglich!");
$result or die ("Fehler!");

echo 
"<div id=&#39;container&#39;>";
echo 
"<form action=&#39;gruss.php&#39; method=&#39;post&#39;>";

while(
$row mysql_fetch_row($result)) {

$i++;
echo 
$i;
echo 
"<input type=&#39;checkbox&#39; name=&#39;zeile&#39;>".$row[1]."";
echo 
"&nbsp;&rArr;&nbsp;";
echo 
$row[2];
echo 
"<br>";
}

echo 
"</div>";
echo 
"<input type=&#39;submit&#39; value=&#39;Löschen&#39;>";

if(
$_POST[zeile])
{
echo $i;
$sql_drop "DELETE FROM gruss WHERE &#39;id&#39; = ".$i."";
$result_drop mysql_query($sql_drop) or die ("<p><b>Konnte Datensatz nicht löschen!</b></p>");
}
echo 
"</form>";

mysql_close($connect);

?>


Und zwar lassen sich die Datensätz nicht löschen, gibt aber auch nicht den Fehlertext aus.

Das Formular wird jedoch ausgefürt, was ich daran sehe das $i ausgegeben wird.

Bitte um Hilfe!


Danke bereits jetzt!

Lieben Gruss

Daddy

Antworten zu Mal wieder PHP MySQL:

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Hi |

Unter Umständen existiert die ID nicht, die gelöscht werden soll? Haste ma verglichen?

greez 8)
JoSsiF

Habe dazu den Code mal umgestellt

<?php
$i 
0;
$connect mysql_connect("localhost""****""****");
$db mysql_select_db("*******"$connect);
$sql "SELECT * FROM gruss";
$result mysql_query($sql);

$connect or die ("Fehler: MySQL Verbindung nicht möglich!");
$db or die ("Verbindung zur Datenbank nicht möglich!");
$result or die ("Fehler!");


echo 
"<div id=&#39;container&#39;>";
echo 
"<form action=&#39;gruss.php&#39; method=&#39;post&#39;>";
while(
$row mysql_fetch_row($result)) {
$i++;
echo 
$i;
echo 
"<input type=&#39;checkbox&#39; name=&#39;zeile&#39;>".$row[1]."";
echo 
"&nbsp;&rArr;&nbsp;";
echo 
$row[2];
if(
$_POST[zeile])
{
echo $i;
$sql_drop "DELETE FROM gruss WHERE &#39;id&#39; = ".$i."";
$result_drop mysql_query($sql_drop) or die ("<p><b>Konnte Datensatz nicht löschen!</b></p>");
}
echo 
"<br>";
}
echo 
"</div>";
echo 
"<input type=&#39;submit&#39; value=&#39;Löschen&#39;>";

echo 
"</form>";
mysql_close($connect);

$i zeigt jedesmal die ID des Datensatzes an....

Folgendes ist die Augabe nach aktivierung des Formulars:

0Jan ⇒ Systwm of a down0
1jan ⇒ jan1
2 kskksk ⇒ ssss2
3jAN ⇒ jan3

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Kenn ja deine DB nich.... was hat 'id' denn für einen Typ?

id ist ein integer, oder was wolltest du wissen?

Der erste Wert in einer Spalte (Aufzählung).

Also logischerweise sollte das so funkrionieren, oder nicht?!

Gruss Daddy

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Ohh, warum fällt mir das erst jetzt auf?

Integer is natürlich korrekt, das wollte ich auch wissen :)

Problem liegt woanders: Deine SQL-Query ist falsch. Die Hochkommata um id müssen weg!

greez 8)
JoSsiF

Daaanke!

Das war der Fehler, zu blöde aber auch  :-[

Hab aber jetzt n anderes Problem, und zwar fangen meine id´s in der DB komischerweise nicht bei null an sondern bei 18 und gingen bis 23.

Habe dann die ganzen Datensätze gelöscht und testweise einen neuen eingegeben, der dann die ID 24 hatte, statt wie gewollt null.

Weis jemand rat, verstehe das nicht?!

Vielen Dank an Jossif!!!!!!!

thx

daddy

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Is normal, sofern du Auto Increment für die ID verwendest.

MySQL regelt das intern. Du solltest da keinen Einfluss nehmen. Einmal vergebene IDs werden nicht mehr vergeben, das ist generell so.
Einfach keine Gedanken darüber machen, das passt schon ;)

greez 8)
JoSsiF


« newsletter per email erstellen mit PHPKann mir jemand ein Video in Flash umwandeln? »
 

Schnelle Hilfe: Hier nach ähnlichen Fragen und passenden Tipps suchen!