webForumDet fria alternativet

php mysql

5 svar · 419 visningar · startad av ann

annMedlem sedan jan. 200419 inlägg
#1

hej,
undrar om någon sålt min hjärna, jag e grön på detta m nu står det still. jag försöker radera post från min mysql db utan resultat. kan spara och hämta data därifrån men inte redigera något.

här är ett ex:
<?php
require ("connect.php");

$result = mysql_query("SELECT * FROM gbook ORDER BY g_id DESC");

while ($row = mysql_fetch_array($result))
{
?>

<TABLE border="1" WIDTH="60%" align="center">
<form method="post" action="delete_msg.php.">
<TR><TD>
<b>ID: <? echo $row['g_id']; ?></b><input type="hidden" name="id">
</TD><TD>
<b><? echo $row['g_time']; ?></b>
</TD><TD>
<b><? echo $row['g_name']; ?></b>
</TD><TD>
<b><? echo $row['g_msg']; ?></b>
</TD><TD align="right">
<input type="submit" value="Radera">
</TD></TR>
</form>
</TABLE>
<? } ?>

<?php

//************DELETE ****************
if(isset($_POST["id"]))
{

$mysql_query2 = "DELETE FROM gbook" . "WHERE g_id='" . $_POST["id"] . "';";

if (@mysql_query($mysql_query2))
{
print "<p>msg deleted!</p>";
} else {
print "<p>msg could not be deleted..</p>";
}

$num_rows2 = mysql_affected_rows();

if($num_rows2 == 1)
{

echo "&action=Record #$id deleted from the database";

}else if($num_rows2 > 1){

           echo "&error=More than one row may have 
           been deleted";

}else{

echo "&error=No records were deleted.";

}
@mysql_free_result($mysql_query2);
}else{

echo "&error=Login incorrect or no correct parameters   provided";

}
?>

</body >
</html>

vore så tacksam för hjälp....
tack!!

tydalMedlem sedan juni 20033 788 inlägg
#2

Det verkar vara på den här raden felet ligger:
<b>ID: <? echo $row['g_id']; ?></b><input type="hidden" name="id">

Ändra slutet till:
<input type="hidden" name="id" value="<? echo $row['g_id']; ?>">

annMedlem sedan jan. 200419 inlägg
#3

tack
ser klart mer logiskt ut att fånga upp "id " i value= MEN det deletas inte utan får felmedelande:

msg could not be deleted..

&error=No records were deleted.

tittar vidare.
hej.

MatteMedlem sedan aug. 20002 970 inlägg
#4

Den här raden ser lite knas ut:

$mysql_query2 = "DELETE FROM gbook" . "WHERE g_id='" . $_POST["id"] . "';";

Du har inget mellanslag mellan gbook och WHERE.
Jag tror inte du ska ha med något semikolon i slutet av SQL-frågan.

Testa så här:

$mysql_query2 = "DELETE FROM gbook WHERE g_id='" . $_POST["id"] . "'";
annMedlem sedan jan. 200419 inlägg
#5

så rätt du har

fint nu funkar allt som det ska.

tack - på återseende

lunne82Medlem sedan dec. 2003153 inlägg
#6

Ett tips är ju att vänta med att sätta dit @ tills du vet att allt funkar som det ska.

if (@mysql_query($mysql_query2))
Genererad på 388 ms · cache AV · v20260730165559-full.f96bc7eb