Php & MySQL error...

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Jelle Sturm

Jelle Sturm

27/01/2009 12:40:00
Quote Anchor link
hallo,

Ik krijg de volgende errors bij mijn php script dat MySQL data zou moeten updaten...

Error: 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 '(title, descr, categorie, cost, author, demo, authorlink, featured) VALUES ('Rai' at line 1

edit_template_code.php:
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
<?php
include '../config.php';

ini_set('display_errors', 1);
error_reporting(E_ALL | E_STRICT);

$nr = $_POST['number'];

$sql="UPDATE template SET (title, descr, categorie, cost, author, demo, authorlink, featured)
VALUES
('$_POST[title]','$_POST[descr]','$_POST[categorie]','$_POST[cost]','$_POST[author]','$_POST[demo]','$_POST[authorlink]','$_POST[featured]') WHERE id = $nr"
;

if (!mysql_query($sql,$con))
  {

  die('Error: ' . mysql_error());
  }

echo "Template Updated!!";

mysql_close($con)
?>


Iemand raad?

Jelle
Gewijzigd op 01/01/1970 01:00:00 door Jelle Sturm
 
PHP hulp

PHP hulp

29/11/2024 05:51:28
 
Joren de Wit

Joren de Wit

27/01/2009 12:44:00
Quote Anchor link
Begin allereerst met het buiten quotes halen van je variabelen. Plaats vervolgens deze regels aan het begin van je script:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
ini_set('display_errors', 'On');
error_reporting(E_ALL);
?>

En los dan de fouten op die gegeven worden.

Om te beginnen hoort $_POST[number] namelijk $_POST['number'] te zijn (let op de quotes), 'number' is immers een string en geen constante. Zie ook de eerste foutmelding die je krijgt...

Echo tenslotte als er een fout opstreedt in je query, ook altijd de query die je uitgevoerd hebt. Dan zie je wat er uiteindelijk naar de database gegaan is en wellicht ook al direct waar het fout gaat.
 
Jelle Sturm

Jelle Sturm

27/01/2009 12:52:00
Quote Anchor link
Er gaat niets naar de database^^

Die variabele $nr heb ik nu opgelost en die eerste error is weg.

Er moet iets fout zitten in de MySQL code by $sql maar ik weet niet wat...
 
Joren de Wit

Joren de Wit

27/01/2009 13:35:00
Quote Anchor link
Jelle schreef op 27.01.2009 12:52:
Er gaat niets naar de database^^
Jij stuurt toch wel degelijk een sql query naar de database om uitgevoerd te worden...

Echo die query dus ook eens als er wat fout gaat bij het uitvoeren ervan. En doe tevens wat met de andere punten die ik in mijn vorige post noemde.
 
Jelle Sturm

Jelle Sturm

27/01/2009 13:39:00
Quote Anchor link
K heb het opgelost dmv dit:

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
<?php
include '../config.php';

ini_set('display_errors', 1);
error_reporting(E_ALL | E_STRICT);

$nr = $_POST['number'];

$sql="UPDATE template SET title = '$_POST[title]', descr = '$_POST[descr]', categorie = '$_POST[categorie]', cost = '$_POST[cost]', author = '$_POST[author]', demo = '$_POST[demo]', authorlink = '$_POST[authorlink]', featured = '$_POST[featured]' WHERE id = $nr";

if (!mysql_query($sql,$con))
  {

  die('Error: ' . mysql_error());
  }

header ("location: edit_template.php?id=$nr&update=true");

mysql_close($con)
?>


Tx voor je reacties!
 
Joren de Wit

Joren de Wit

27/01/2009 13:45:00
Quote Anchor link
Dat is dan ook de enige juiste syntax voor een UPDATE query. Nu enkel nog die variabelen buiten quotes halen, dan ziet het er alweer een stuk beter uit...
 
Jelle Sturm

Jelle Sturm

27/01/2009 13:46:00
Quote Anchor link
^^Hoe bedoel je variables buiten quotes halen?

'$_POST[title]' <- deze?
 
GaMer B

GaMer B

27/01/2009 14:02:00
Quote Anchor link
In plaats van:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php

$variabel
= 'iets';
echo "Tekst plus $variabel";[/code]
dit:
[
code][code]<?php

$variabel
= 'iets';
echo 'Tekst plus', $variabel;[/code]

EDIT: Typo :)
Gewijzigd op 01/01/1970 01:00:00 door GaMer B
 
Joren de Wit

Joren de Wit

27/01/2009 14:20:00
Quote Anchor link
Jelle schreef op 27.01.2009 13:46:
^^Hoe bedoel je variables buiten quotes halen?
Zie de link in mijn eerste post, daarin staat het hoe en waarom uitgelegd.

Het moge duidelijk zijn dat ik doel op de variabelen in je query ;-)
 



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.