Avatar billede dotcom1 Nybegynder
30. august 2005 - 17:51 Der er 10 kommentarer og
1 løsning

Slette fra MySQL

Jeg vil gerne kunne slette fra min database uden at skulle logge på phpmyadmin. jeg har forsøgt mig med følgende:

sletcomments.php:
<?php
    include($_SERVER['DOCUMENT_ROOT']."/sql.php");
    $query = mysql_query("SELECT * FROM comments ORDER BY theDate DESC") OR DIE(mysql_error());
    while($row = mysql_fetch_array($query)) {
?>

<a href="slet.php?id=<?=$row['name'];?>"><?=$row['name'];?> </a>- <?=$row['comment'];?><br><br>
<?php
}
?>

slet.php:
<?
include_once($_SERVER['DOCUMENT_ROOT']."/sql.php");
mysql_query("DELETE FROM comments WHERE comment = $_GET[comment]") or die (mysql_error());
?>
En liste over databasens indholdvises fint, men når man klikker for at slette, får man fejlen:
You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1

Hvad er der galt?
Avatar billede arne_v Ekspert
30. august 2005 - 17:55 #1
prøv:

mysql_query("DELETE FROM comments WHERE name = " . $_GET['id']) or die (mysql_error());
Avatar billede dotcom1 Nybegynder
30. august 2005 - 17:59 #2
det giver desværre samme fejl.
Min tabel ser sådan ud:
CREATE TABLE `comments` (
  `commentID` int(11) NOT NULL auto_increment,
  `comment` text,
  `URL` text,
  `email` varchar(100) default NULL,
  `name` varchar(40) default NULL,
  `postNo` varchar(100) NOT NULL default '',
  `theDate` datetime default NULL,
  PRIMARY KEY  (`commentID`)
) TYPE=MyISAM AUTO_INCREMENT=39 ;
Avatar billede arne_v Ekspert
30. august 2005 - 18:02 #3
mysql_query("DELETE FROM comments WHERE name = '" . $_GET['id'] . "'") or die (mysql_error());
Avatar billede arne_v Ekspert
30. august 2005 - 18:03 #4
og check lige om linket ser OK ud
Avatar billede dotcom1 Nybegynder
30. august 2005 - 18:12 #5
Samme fejl igen, desværre.

Det jeg gerne vil, er at kunne slette et indlæg. Indlæggene har jo forskellig id, så er  $_GET['id'] det felt, vi skal have fat i?
Linker hedder
http://www.mysite/slet.php?id=navnetPåDenDerHarSkrevetIndlægget
Avatar billede dotcom1 Nybegynder
30. august 2005 - 18:23 #6
Hov, fejlen kommer ikke længere, men der slettes ikke noget i databasen...
Avatar billede dotcom1 Nybegynder
30. august 2005 - 18:29 #7
For søren, det virker jo - fik ikke lige opdateret databasen. :-) Kan man ikke lave en "Slettet med success" eller "Fejl"...?
Avatar billede dotcom1 Nybegynder
30. august 2005 - 18:38 #8
Har selv fundet ud af det. Læg et svar, arne_v...
Avatar billede arne_v Ekspert
30. august 2005 - 18:44 #9
ok
Avatar billede arne_v Ekspert
30. august 2005 - 18:45 #10
PS: hvis du kalder URL parametereren og database kolonnen det samme så er din kode
    nemmere at læse
Avatar billede dotcom1 Nybegynder
30. august 2005 - 19:55 #11
Okay. Mange tak for hjælpen.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester