webForumDet fria alternativet

Ett litet problem

5 svar · 208 visningar · startad av Pedda

PeddaMedlem sedan juni 20004 880 inlägg
#1

Har problem med att radera från databasen. Så här har jag bl.a testat att göra:

mysql_connect ("$server","$anvandare","$losen");
	mysql_select_db ("$databas");
	$query = "SELECT FROM nyheter WHERE id = $id";
		if (id == 0)
		{
		$query = "SELECT FROM nyheter WHERE id = $id";
		mysql_query("$query");
		echo "<center><b>Det finns ingen nyhet med id nummer $id!</b></center><br><br>";
	  	mysql_close();
		}
		else
		{
		$query = "DELETE FROM nyheter WHERE id = $id";
		mysql_query("$query");
		echo "<center><b>Raderingen av idnr. $id lyckades!</b><br><br></center>";
		mysql_close();
		}

Men jag har tydligen gjort något fel, kan någon se vad?

DarrenMedlem sedan dec. 2002741 inlägg
#2

Re: Ett litet problem

mysql_connect ("$server","$anvandare","$losen");
mysql_select_db ("$databas");
$query = "SELECT FROM nyheter WHERE id = $id";
$result = mysql_fetch_array($query);

if (!$result["id"]){
    echo "<center><b>Det finns ingen nyhet med id nummer $id!</b></center><br><br>";
    mysql_close();
}
else{
    $query = "DELETE FROM nyheter WHERE id = $result[\"id\"]";
    mysql_query("$query");
    echo "<center><b>Raderingen av idnr. $id lyckades!</b><br><br></center>";
    mysql_close();
}
MatteMedlem sedan aug. 20002 970 inlägg
#3

En annan variant:

$conn = mysql_connect ($server,$anvandare,$losen);
mysql_select_db ($databas, $conn);
$query = "DELETE FROM nyheter WHERE id = $id";

if (mysql_affected_rows() == 0){
    echo "<center><b>Det finns ingen nyhet med id nummer $id!</b></center><br><br>";
} else {
    echo "<center><b>Raderingen av idnr. $id lyckades!</b><br><br></center>";
}
mysql_close();
PeddaMedlem sedan juni 20004 880 inlägg
#4

hmm, tack för svaren, men....

Darrens förslag ger Parse Error på $query = "DELETE FROM nyheter WHERE id = $result[\"id\"]";

Mattes förslag ger inga error, men raderar inte några poster heller. Ger ok meddelande även på poster som inte finns.

MatteMedlem sedan aug. 20002 970 inlägg
#5

Jag missade en rad:

$conn = mysql_connect ($server,$anvandare,$losen);
mysql_select_db ($databas, $conn);
$query = "DELETE FROM nyheter WHERE id = $id";
mysql_query($query); // Saknades

if (mysql_affected_rows() == 0){
    echo "<center><b>Det finns ingen nyhet med id nummer $id!</b></center><br><br>";
} else {
    echo "<center><b>Raderingen av idnr. $id lyckades!</b><br><br></center>";
}
mysql_close();

Man måste ju skicka frågan till databasen också. :r

PeddaMedlem sedan juni 20004 880 inlägg
#6

Jag såg det sen när jag kollade lite bättre, så nu funkar det. Tackar!

Genererad på 371 ms · cache AV · v20260730165559-full.f96bc7eb