Gå til innhold

Sletter ikke i mysql


Anbefalte innlegg

Jeg får ikke til å slette rader i mysql databasen min. Jeg bruker scriptet under for å slette, men ingenting skjer. Scriptet og databasen ligger på min egen webserver hvor jeg kjører apache 2.

 

Jeg har prøvd scriptet på et annet webhotel, og der virket det.

 

Det virker som om funksjonen "DELETE FROM" er blokkert et eller annet sted. Er det et sted hvor man kan endre på dette?

 

Slett.php

Klikk for å se/fjerne innholdet nedenfor
<?php

 

// Connects to your Database

 

mysql_connect("localhost", "", "") or die(mysql_error());

mysql_select_db("") or die(mysql_error());

 

{

mysql_query ("DELETE FROM contacts where id=$id");

}

?>

Lenke til kommentar
Videoannonse
Annonse
Er du sikker på at du får koblet til basen ? Og at alt ellers av PHP og Mysql er satt opp riktig ?

Hvis du har phpmyadmin innstallert så kan du jo prøve å kjøre selecten der bare for å teste at ting fungerer.

8656800[/snapback]

På phpmyadmin kjørte jeg delete spørringen og der virket det :hmm: Skjønner ikke hva dette kan komme av :dontgetit:

Lenke til kommentar
SIkker pa at du har riktig brukernavn/pw?

8656963[/snapback]

Ja jeg er helt sikker på det fordi jeg klarer å hente ut fra databasen. Her er hele scriptet:

Klikk for å se/fjerne innholdet nedenfor
<?php

 

// Connects to your Database

 

mysql_connect("localhost", "", "") or die(mysql_error());

mysql_select_db("") or die(mysql_error());

 

{

mysql_query ("DELETE FROM contacts where id='$id'") or die(mysql_error());

 

}

 

 

$data = mysql_query("SELECT * FROM contacts Order by id")

or die(mysql_error());

Print "<table border=0 cellpadding=3>";

Print "<tr><th width=250></th><th width=150></th><th width=150></th><th width=120></th></tr>";

while($info = mysql_fetch_array( $data ))

{

Print "<td>".$info['navn'] . "</td> ";

Print "<td>".$info['adresse'] . "</td> ";

Print "<td>".$info['telefon'] . "</td> ";

 

Print "<td><a href=" .$_SERVER[’PHP_SELF’]. "?id=" . $info['id'] ."title=\"Slett\">Slett</a> ";

Print "<a href=endre_artikkel.php" .$_SERVER[’PHP_SELF’]. "?id=" . $info['id'] ." title=\"Endre\">Endre</a></td></tr> ";

 

}

Print "</table>";

 

?>

For meg virker det som at sql-spørringen "delete" er deaktivert, hivs det går ann :hmm:
Lenke til kommentar

PHP

<?php

// Connects to your Database [br]

mysql_connect("localhost""""") or die(mysql_error());

mysql_select_db("") or die(mysql_error());

 

 

if(isset($_GET['id'])) {

$id $_GET['id'];

mysql_query ("DELETE FROM contacts WHERE id = '$id'") or die(mysql_error());

}

 

?>

Endret av hans3k
Lenke til kommentar
PHP

<?php

// Connects to your Database [br]

mysql_connect("localhost", "", "") or die(mysql_error());

mysql_select_db("") or die(mysql_error());

 

 

if(isset($_GET['id'])) {

  $id = $_GET['id'];

  mysql_query ("DELETE FROM contacts WHERE id = '$id'") or die(mysql_error());

}

 

?>

8657107[/snapback]

Nå virket det :hmm:

 

Hva kommer det av?

Lenke til kommentar

Hvis register_globals=on så vil ett parameter fra url'en automatisk få en variabel. F.eks index.php?i=2

echo $i; vil skrive ut 2. Når register_globals=off så må du bruke $_GET['i'] for å få tak i den samme verdien. Register_globals er standard satt til off, og bør forbli satt til off av sikkerhetsgrunner.

 

Hvis det funka på en annen server så er det mulig at den var satt opp med register_globals=on.

 

Dette kan du sjekke med phpinfo() funksjonen.

Lenke til kommentar
Hvis register_globals=on så vil ett parameter fra url'en automatisk få en variabel. F.eks index.php?i=2

echo $i; vil skrive ut 2. Når register_globals=off så må du bruke $_GET['i'] for å få tak i den samme verdien. Register_globals er standard satt til off, og bør forbli satt til off av sikkerhetsgrunner.

 

Hvis det funka på en annen server så er det mulig at den var satt opp med register_globals=on.

 

Dette kan du sjekke med phpinfo() funksjonen.

8657806[/snapback]

Du har helt rett i det! Nå gjenstår det bare å skru den av og sjekke om den virker da! :)

 

Edit: Det virket! Tusen takk!

Endret av mariusmk
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...