Problemen bij database update functie

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Jeroen Bruijnje

Jeroen Bruijnje

19/06/2011 18:41:11
Quote Anchor link
Hallo,

Ik heb een lijst met gegevens uit de database. Als ik op de knop bewerk druk krijg ik een nieuwe pagina met de juiste gegevens en de mogelijkheid om deze aan te passen. Zover gaat alles dus goed. Maar als ik dan de info wil wijzigen door op de knop wijzigen te drukken, krijg ik dit bericht:

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 'WHERE id = 1' at line 2

Weet iemand waar ik hier naar moet kijken?

code van de bewerk pagina:


Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?php
// string om contact te maken met de databse
$connect = mysql_connect("localhost", "jeroen", "ww");
    
    // geef foutmelding als er geen contact gemaakt kan worden
    if (!$connect) {
        die('Kon geen contact maken met de database: ' . mysql_error());
    }

// selecteer database en maak contact met de string      
mysql_select_db("gastenboek", $connect);

$done = false;

// prepare an array of expected items
$expected = array('naam', 'plaats', 'email', 'bericht', 'id');

if ($_GET && !$_POST) {
  if (isset($_GET['id']) && is_numeric($_GET['id'])) {
    $id = $_GET['id'];
    }

  else {
    $id = NULL;
    }

  if ($id) {
    $sql = "SELECT * FROM berichten WHERE id = $id";
    $result = mysql_query($sql) or die (mysql_error());
    $row = mysql_fetch_assoc($result);
    }
  }

  
  if (array_key_exists('toevoegen', $_POST)) {
  // prepare expected items for insertion in to database
  foreach ($_POST as $key => $value) {
    if (in_array($key, $expected)) {
      ${$key} = mysql_real_escape_string($value);
      }
    }

  // abandon the process if primary key invalid
  if (!is_numeric($id)) {
    die('Invalid request');
    }

  // prepare the SQL query
  $sql = "UPDATE berichten SET naam = '$naam', plaats = '$plaats', email = '$email', bericht = '$bericht',
          WHERE id = $id"
;
  // submit the query and redirect if successful
  $done = mysql_query($sql) or die(mysql_error());
  }

  
  // redirect page on success or if $article_id is invalid
  if ($done || !isset($id)) {
  header('Location: http://localhost:8888Oefenbestanden Mac/Les DreamweaverCS5 PHP/PHP_intro/gastenboek/admin.php');
  exit;
  }

  
?>


<form action="change.php" method="post">
naam:
<input type="text" name="naam" value="
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo htmlentities($row['naam']); ?>
" /><br />
plaats:
<input type="text" name="plaats" value="
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo htmlentities($row['plaats']); ?>
" /><br />
email:
<input type="text" name="email" value="
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo htmlentities($row['email']); ?>
" /><br />
bericht:
<input type="text" name="bericht" value="
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo htmlentities($row['bericht']); ?>
" /><br />

<input type="submit" name="toevoegen" value="Bewerk!" />
<input name="id" type="hidden" value="
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo $row['id']; ?>
" />
</form>
 
PHP hulp

PHP hulp

28/03/2024 21:14:14
 
Uiid -

Uiid -

19/06/2011 19:29:36
Quote Anchor link
je query op regel 43 is niet goed, pruts er wat mee aan en je hebt het doe ik ook altijd :P

Toevoeging op 19/06/2011 19:30:12:

btw het kan ook regel 25 zijn
 
Jeroen Bruijnje

Jeroen Bruijnje

20/06/2011 13:15:40
Quote Anchor link
opgelost...

in de string stond een ,
Toen ik deze verwijderde werkte de code wel.

van:
"UPDATE berichten SET naam = '$naam', plaats = '$plaats', email = '$email', bericht = '$bericht', WHERE id = $id";


in:

"UPDATE berichten SET naam = '$naam', plaats = '$plaats', email = '$email', bericht = '$bericht' WHERE id = $id";
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.