Toon posts:

[PHP/MySQL] delete row

Pagina: 1
Acties:
  • 135 views sinds 30-01-2008

Verwijderd

Topicstarter
Heel vaag

Ik kan een rij niet verwijderen uit de tabel..

Niet op deze manier:
PHP:
1
2
3
4
5
<?
$sql="DELETE FROM `advertentie_data` WHERE `ad_id` = '$ad_id'"; 
   
 mysql_query($sql);
?>

ad_id krijgt de waarde via een link (dat gaat goed.. gecontroleerd via echo)

Op deze manier kan ik de rij wel weggooien: MAar het moet wel dynamisch blijven (ad_id krijgt andere waarden)
PHP:
1
2
3
4
5
<?
$sql="DELETE FROM `advertentie_data` WHERE `ad_id` = '5'"; 
   
 mysql_query($sql);
?>

Ben ik nou gek? Of maak ik een domme fout?

  • Orphix
  • Registratie: Februari 2000
  • Niet online
Voor zover ik zie moet het goed gaan. Misschien een ' in $ad_id of roep je de query aan in een functie?

Verwijderd

Topicstarter
Op donderdag 03 januari 2002 23:41 schreef Orphix het volgende:
Voor zover ik zie moet het goed gaan. Misschien een ' in $ad_id of roep je de query aan in een functie?
In een if ($submit) functie..?!

Verwijderd

Misschien kun je laten zien hoe je aan $ad_id komt?

En if-else is geen functie maar een statement :)

Verwijderd

PHP:
1
2
3
4
<?
 $sql="DELETE FROM advertentie_data WHERE ad_id=$ad_id";
 mysql_query($sql);
?>

Verwijderd

Topicstarter
Op donderdag 03 januari 2002 23:44 schreef WilcoB het volgende:
Misschien kun je laten zien hoe je aan $ad_id komt?

En if-else is geen functie maar een statement :)
Daarom ook de ?! achter mijn zin.
Ik heb al gezegt dat ad_id gewoon overkomt..
Op donderdag 03 januari 2002 23:44 schreef virtual het volgende:
PHP:
1
2
3
4
<?
 $sql="DELETE FROM advertentie_data WHERE ad_id=$ad_id";
 mysql_query($sql);
?>
Doet het helaas ook niet!

Verwijderd

De haken wel om de variabele heen, maar niet om de kolomnamen en tabelnaam. Werkt dat niet?

Verwijderd

Weet je zeker dat het op de plek van de query aankomt? En dan hij tussendoor misschien niet van waarde verandert wordt? (Dus heb je hem ge-echoot direct aan begin van file, of toch net voor/net na de query?)

Zoniet, echo $sql oid eens.

Verwijderd

Topicstarter
Op donderdag 03 januari 2002 23:53 schreef Frank83 het volgende:
De haken wel om de variabele heen, maar niet om de kolomnamen en tabelnaam. Werkt dat niet?
nope..

Ik zal even het volledige script sturen: (laat wel de onnodige dingen weg)

mijnads.php:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?
 // zoek advertenties op  

 $sql = "SELECT * FROM advertentie_data WHERE geb_id = '$id'";

 $result=mysql_query($sql);    

   while($row=mysql_fetch_array($result))

 {
 $ad_id=$row[0];
?>
 <td width="%"> 

     <a href="bekijk.php?ad_id=<?echo $ad_id?>">bekijken</a> |  

     <a href="wijzad.php?ad_id=<?echo $ad_id?>">wijzigen</a> |  

     <a href="verwijder.php?ad_id=<?echo $ad_id?>">verwijderen</a>

      </td>
<?
  }
  exit;
?>

verwijder.php:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<?
 if ($Submit)
{
 
// DELETE FROM `advertentie_data` WHERE `ad_id` = \'5\
 $sql="DELETE FROM advertentie_data WHERE ad_id = '$ad_id'"; 
   
 mysql_query($sql);
  
  verwijderen_advertentie_ok();
   
  exit;
  };
     ?>
      <tr>

    <td width="5%" height="*">&amp;amp;nbsp;</td>

    <td width="90%"> 

      <p><b>Advertentie verwijderen:</b><br>

        Hier kun je jouw advertentie verwijderen. 
<? echo $ad_id?>
// extra controle of ad_id overkomt
        
        Weet je het zeker?<br>
      <form method="post" action="verwijder.php">
      <input type="hidden" name="Submit" value="1">
   <p> 
        <input type="submit" name="submit" value="Ja">
        <input type="reset" name="wissen" value="Nee">
   </p></form>
?>

Verwijderd

Staat geen puntkomma achter verwijder.php?ad_id=$ad_id in het eerste stuk. Je hoort volgens mij dan een foutmelding te krijgen (?).

  • kvdveer
  • Registratie: November 2000
  • Laatst online: 06-11-2025

kvdveer

Z.O.Z.

vervang dit
PHP:
1
2
3
4
5
<?
 $sql="DELETE FROM advertentie_data WHERE ad_id = '$ad_id'";
  
 mysql_query($sql);
?>

eens door :
PHP:
1
2
3
4
5
<?
 $sql="DELETE FROM advertentie_data WHERE ad_id = '$ad_id'";
 echo $sql; 
 mysql_query($sql) or die(mysql_error());
?>

Sowieso moet je eigenlijk altijd die "or die(mysql_error())" toevoegen. Het kan je een hoop ellende sparen.
Door dat echootje even te plaatsen kunnen we zien hoe je query er uit ziet...

Localhost, sweet localhost


Verwijderd

Topicstarter
De fout zit in de if statement..

Als ik het zo doe:
PHP:
1
2
3
4
5
6
7
8
9
<?
  $sql="DELETE FROM advertentie_data WHERE ad_id=$ad_id"; 

  mysql_query($sql); 

  

  verwijderen_ad_ok();
?>

Doet ie het wel.. Ziet iemand een fout in die submit?

  • Spleasure
  • Registratie: Juli 2001
  • Laatst online: 17-03 19:10

Spleasure

Ik hier?

if($Submit) is niet gelijk aan if($submit)


je hebt in je html een kleine s en in je PHP een grote

Verwijderd

Topicstarter
Opgelost:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
<?
 if ($Submit2)

  {

 

  if ($btnDrop1)

    {

      $sql="DELETE FROM advertentie_data WHERE ad_id=$ad_id"; 

      mysql_query($sql); 

      verwijderen_ad_ok();

      exit;

    };

 

  if ($btnDrop2)

    {

      ?>    

      <SCRIPT LANGUAGE="JavaScript"> 

        function Frames(frame1) 

        {

        parent.main.location = frame1;      

        return;

        }

      Frames('mijnads.php')

      </SCRIPT>    

      <?

    exit;

    };

  

  };

?>

  <br>

  <b>Advertentie verwijderen</b><P>

  Weet je zeker dat je de advertentie wilt verwijderen?

  

  <form action="verwijder.php" method="post">

    <input type="hidden" name="Submit2" value="1">

    <input type="submit" name="btnDrop1" value="Ja">

    <input type="submit" name="btnDrop2" value="Nee">

  </form>
?>

Verwijderd

Ik heb hetzelfde probleem, kom er niet uit aan de hand van dit topic:

code:
1
2
DELETE * FROM huis WHERE huis.id=3
You have an error in your SQL syntax near '* FROM huis WHERE huis.id=3' at line 1

[ Voor 4% gewijzigd door Verwijderd op 06-10-2004 14:38 ]


  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

Verwijderd schreef op 06 oktober 2004 @ 14:36:
Ik heb hetzelfde probleem, kom er niet uit aan de hand van dit topic:

code:
1
2
DELETE * FROM huis WHERE huis.id=3
You have an error in your SQL syntax near '* FROM huis WHERE huis.id=3' at line
leuk een oud topic kicken voor iets waar je een duidelijke foutmelding voor krijgt :o

dat * hoort daar niet zoals mysql netjes aangeeft :)

Verwijderd

Erkens schreef op 06 oktober 2004 @ 14:39:
[...]

leuk een oud topic kicken voor iets waar je een duidelijke foutmelding voor krijgt :o

dat * hoort daar niet zoals mysql netjes aangeeft :)
Sorry :p

Wat suggereer jij?

Verwijderd

Ik ben hopeloos hoor :'(

[ Voor 7% gewijzigd door Verwijderd op 06-10-2004 14:44 ]


  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

idd
hoe moeilijk is het om dat * weg te halen :X

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 21-05 16:50

gorgi_19

Kruimeltjes zijn weer op :9

Neem eens een SQL tutorial door. Daar hoef je niet zo een stoffig topic voor te schoppen. Zie www.w3schools.com/sql

[ Voor 58% gewijzigd door gorgi_19 op 06-10-2004 14:46 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo

Pagina: 1

Dit topic is gesloten.