Thoraxxx Skrevet 20. mai 2007 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"); } ?>
Crowly Skrevet 20. mai 2007 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.
Ståle Skrevet 20. mai 2007 Skrevet 20. mai 2007 prov dette: mysql_query ("DELETE FROM contacts where id='$id'");
Thoraxxx Skrevet 20. mai 2007 Forfatter 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
Gjest Slettet+142 Skrevet 20. mai 2007 Skrevet 20. mai 2007 mysql_query ("DELETE FROM contacts where id='$id'"); echo mysql_affected_rows();
Crowly Skrevet 20. mai 2007 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.
Thoraxxx Skrevet 20. mai 2007 Forfatter 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
Thoraxxx Skrevet 20. mai 2007 Forfatter 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
Alex Moran Skrevet 20. mai 2007 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
Thoraxxx Skrevet 20. mai 2007 Forfatter 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?
Alex Moran Skrevet 20. mai 2007 Skrevet 20. mai 2007 Syntax-error. Og at du ikke hadde satt $id noen steder.
Crowly Skrevet 20. mai 2007 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.
Thoraxxx Skrevet 20. mai 2007 Forfatter 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
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å