webForumDet fria alternativet

Ett litet problem

PHP

5 svar · 210 visningar · startad av Pedda

Medlem sedan juni 20006 031 inlägg
Frågan#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?

Medlem sedan dec. 2002789 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();
}
Medlem sedan aug. 20002 975 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();
Medlem sedan juni 20006 031 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.

Medlem sedan aug. 20002 975 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

Medlem sedan juni 20006 031 inlägg
#6

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

259 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)