Thoraxxx Skrevet 20. mai 2007 Del Skrevet 20. mai 2007 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
Crowly Skrevet 20. mai 2007 Del Skrevet 20. mai 2007 Prøv med mysql_query ("DELETE FROM contacts where id=$id") or die(mysql_error()); og se hva slags feilmelding du får. Er ikke noe galt i koden som jeg kan se. Lenke til kommentar
Ståle Skrevet 20. mai 2007 Del Skrevet 20. mai 2007 prov dette: mysql_query ("DELETE FROM contacts where id='$id'"); Lenke til kommentar
Thoraxxx Skrevet 20. mai 2007 Forfatter Del Skrevet 20. mai 2007 prov dette:mysql_query ("DELETE FROM contacts where id='$id'"); 8655981[/snapback] Ingen av tingene virket Fikk heller ikke opp noen feilmelding Lenke til kommentar
Ståle Skrevet 20. mai 2007 Del Skrevet 20. mai 2007 finnes IDen? Finnes tabellen? Lenke til kommentar
Ståle Skrevet 20. mai 2007 Del Skrevet 20. mai 2007 finnes IDen? Finnes tabellen? Lenke til kommentar
Gjest Slettet+142 Skrevet 20. mai 2007 Del Skrevet 20. mai 2007 mysql_query ("DELETE FROM contacts where id='$id'"); echo mysql_affected_rows(); Lenke til kommentar
Crowly Skrevet 20. mai 2007 Del Skrevet 20. mai 2007 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. Lenke til kommentar
Thoraxxx Skrevet 20. mai 2007 Forfatter Del Skrevet 20. mai 2007 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 Skjønner ikke hva dette kan komme av Lenke til kommentar
Ståle Skrevet 20. mai 2007 Del Skrevet 20. mai 2007 SIkker pa at du har riktig brukernavn/pw? Lenke til kommentar
Thoraxxx Skrevet 20. mai 2007 Forfatter Del Skrevet 20. mai 2007 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 Lenke til kommentar
Alex Moran Skrevet 20. mai 2007 Del Skrevet 20. mai 2007 (endret) 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 20. mai 2007 av hans3k Lenke til kommentar
Thoraxxx Skrevet 20. mai 2007 Forfatter Del Skrevet 20. mai 2007 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 Hva kommer det av? Lenke til kommentar
Alex Moran Skrevet 20. mai 2007 Del Skrevet 20. mai 2007 Syntax-error. Og at du ikke hadde satt $id noen steder. Lenke til kommentar
Crowly Skrevet 20. mai 2007 Del Skrevet 20. mai 2007 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
Thoraxxx Skrevet 20. mai 2007 Forfatter Del Skrevet 20. mai 2007 (endret) Hvis register_globals=on så vil ett parameter fra url'en automatisk få en variabel. F.eks index.php?i=2echo $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 20. mai 2007 av mariusmk Lenke til kommentar
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå