MySQL records updaten m.b.v. php

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

  • degoeroe
  • Registratie: Augustus 2001
  • Laatst online: 29-10-2019

degoeroe

Wat hep de goeroe nau gesegt !

Topicstarter
Oooi, ben 'n redelijke new-bee op php/mysql gebied. Wil gewoon simpel even voor elkaar krijgen dat ik een record in m'n database kan updaten. Heb daarvoor 2 pagina's. De eerste een html met een form waar de data ingeklopt wordt, die stuurt het naar een 2e pagina waar de volgende code in zit:

code:
1
2
3
4
5
6
7
8
9
<html>
<?php
$db = mysql_connect("localhost", "superstesuperuser","tuurlijkgeenpasswor");
mysql_select_db("naamvandedatabase",$db);
$sql = "INSERT INTO producten (product, aantal, sortering, pot_maat, belading, fustcode) VALUES ('$product','$aantal','$sortering','$pot_maat,'$belading','$fustcode');
$result = mysql_query($sql);
echo "Thank you Information entered\n";
?>
</html>


Nou zegt de php pagina als ik m'n html data naar 'm laat sturen:

Parse error: parse error, unexpected T_STRING in pagina.php on line 7 (das dus deze: echo "Thank you Information entered\n";). Wat doe ik nou fout, 'ksie toch geen " te veel staan of moet toch geen \ voor?

P IV 2,4 (533) ASUS P4B533, 640Mb PC-2100, 80Gb Maxtor 8Mb cache & 60Gb IBM, 2 x 17" IIyama Prolite X436S-S, Plextor PX-708A, Plextor 52/24/52A, Logitech Marble Mouse USB, GeForce 3 Ti200


  • degoeroe
  • Registratie: Augustus 2001
  • Laatst online: 29-10-2019

degoeroe

Wat hep de goeroe nau gesegt !

Topicstarter
Oeps, sorry mod, ben m'n [PHP / MySQL] vergeten in de titel. Xkuses

P IV 2,4 (533) ASUS P4B533, 640Mb PC-2100, 80Gb Maxtor 8Mb cache & 60Gb IBM, 2 x 17" IIyama Prolite X436S-S, Plextor PX-708A, Plextor 52/24/52A, Logitech Marble Mouse USB, GeForce 3 Ti200


  • PierreAronnax
  • Registratie: Maart 2002
  • Niet online
In regel 5 mist een sluit "

Je mag ook zelf wel wat meer debuggen...

[ Voor 48% gewijzigd door PierreAronnax op 03-10-2005 19:05 ]

Pierre - Motormedia.nl - Motor-Forum.nl - Motorshopper.nl - Motormeuk.nl - Motorstek.nl


  • degoeroe
  • Registratie: Augustus 2001
  • Laatst online: 29-10-2019

degoeroe

Wat hep de goeroe nau gesegt !

Topicstarter
Top _/-\o_, de foutmelding is weg. Voor de volledigheid, de sluit " moet achter de ) dat even voor de andere new bee's. Beetje jammer alleen dak nog niets in m'n dbase zie veranderen maar hier kan ik weer verder mee stoeien.

P IV 2,4 (533) ASUS P4B533, 640Mb PC-2100, 80Gb Maxtor 8Mb cache & 60Gb IBM, 2 x 17" IIyama Prolite X436S-S, Plextor PX-708A, Plextor 52/24/52A, Logitech Marble Mouse USB, GeForce 3 Ti200


  • PierreAronnax
  • Registratie: Maart 2002
  • Niet online
Doe eens een
PHP:
1
echo mysql_error();
, dan zie je vaak sneller wat er fout gaat. :)

Pierre - Motormedia.nl - Motor-Forum.nl - Motorshopper.nl - Motormeuk.nl - Motorstek.nl


  • XWB
  • Registratie: Januari 2002
  • Niet online

XWB

Devver
In de tijd dat dit topic gepost had kon je het probleem gevonden hebben.
Wat doe ik nou fout, 'ksie toch geen " te veel staan of moet toch geen \ voor?
Allemaal basis stuff :)

March of the Eagles


  • MueR
  • Registratie: Januari 2004
  • Laatst online: 20:42

MueR

Admin Devschuur® & Discord

is niet lief

Je zegt zelf toch dat je wil updaten? Google is je vriend. Dit leer je in elke php/mysql cursus.

[ Voor 29% gewijzigd door MueR op 03-10-2005 19:18 ]

Anyone who gets in between me and my morning coffee should be insecure.


  • degoeroe
  • Registratie: Augustus 2001
  • Laatst online: 29-10-2019

degoeroe

Wat hep de goeroe nau gesegt !

Topicstarter
Dit leer je in elke php/mysql cursus.
Dan moet het daar wel goed in staan (gebruik php/mysql manuals.

P IV 2,4 (533) ASUS P4B533, 640Mb PC-2100, 80Gb Maxtor 8Mb cache & 60Gb IBM, 2 x 17" IIyama Prolite X436S-S, Plextor PX-708A, Plextor 52/24/52A, Logitech Marble Mouse USB, GeForce 3 Ti200


  • degoeroe
  • Registratie: Augustus 2001
  • Laatst online: 29-10-2019

degoeroe

Wat hep de goeroe nau gesegt !

Topicstarter
Dit is de foutmelding:

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

Maar weet nu ff niet of de fout in m'n html zit (en dat m'n php dat dus verkeerd interpreteert) of in php zelf. Line 1 in php en in html file is de <html> tag, is toch raar?

P IV 2,4 (533) ASUS P4B533, 640Mb PC-2100, 80Gb Maxtor 8Mb cache & 60Gb IBM, 2 x 17" IIyama Prolite X436S-S, Plextor PX-708A, Plextor 52/24/52A, Logitech Marble Mouse USB, GeForce 3 Ti200


  • degoeroe
  • Registratie: Augustus 2001
  • Laatst online: 29-10-2019

degoeroe

Wat hep de goeroe nau gesegt !

Topicstarter
Dank voor de link uiteraard (was wel al bekent) maar m'n probleem is niet mysql zelf maar de boel zo ombouwen dat het ook werkt in php.

P IV 2,4 (533) ASUS P4B533, 640Mb PC-2100, 80Gb Maxtor 8Mb cache & 60Gb IBM, 2 x 17" IIyama Prolite X436S-S, Plextor PX-708A, Plextor 52/24/52A, Logitech Marble Mouse USB, GeForce 3 Ti200


  • XWB
  • Registratie: Januari 2002
  • Niet online

XWB

Devver
Degoeroe schreef op maandag 03 oktober 2005 @ 19:24:
[...]
Dan moet het daar wel goed in staan (gebruik php/mysql manuals.
Of je kijkt verkeerd? Gegevens wijzigen doe je met update, en niet niet insert.

PHP:
1
2
3
4
5
<?php
$sql = "UPDATE producten SET (product='$product', aantal='$aantal', sortering='$sortering', pot_maat='$pot_maat', belading='$belading', fustcode='$fustcode')";
$result = mysql_query($sql) or die(mysql_error());
echo "Thank you Information entered";
?>


En doe je wat met die variabelen?

/edit
De regel 1 is je MySQL regel, en '','','' wijst er op dat je variabelen leeg zijn
Nee dus

PHP:
1
2
3
4
5
<?php
$sql = "UPDATE producten SET (product='" . $_POST['product'] . "', aantal='" . $_POST['aantal'] . "', sortering='" . $_POST['sortering'] . "', pot_maat='" . $_POST['pot_maat'] . "', belading='" . $_POST['belading'] . "', fustcode='" . $_POST['fustcode'] . "')";
$result = mysql_query($sql) or die(mysql_error());
echo "Thank you Information entered";
?>

[ Voor 112% gewijzigd door XWB op 03-10-2005 19:40 ]

March of the Eagles


Verwijderd

Op regel 5 mis je een " aan het eind, die regel moet eindigen op )";

Gebruik een editor met syntax highlighting. Eingelijk horen dit soort problemen hier niet eens thuis, dit hoor je zelf op te kunnen lossen. Zie maar:

PHP:
1
2
3
4
5
6
7
8
9
<html>
<?php
$db = mysql_connect("localhost", "superstesuperuser","tuurlijkgeenpasswor");
mysql_select_db("naamvandedatabase",$db);
$sql = "INSERT INTO producten (product, aantal, sortering, pot_maat, belading, fustcode) VALUES ('$product','$aantal','$sortering','$pot_maat,'$belading','$fustcode');
$result = mysql_query($sql);
echo "Thank you Information entered\n";
?>
</html>

Jouw code mét kleurtjes, en nu valt het wél op.

[ Voor 14% gewijzigd door Verwijderd op 03-10-2005 19:31 ]


  • PierreAronnax
  • Registratie: Maart 2002
  • Niet online
Degoeroe schreef op maandag 03 oktober 2005 @ 19:26:
Dit is de foutmelding:

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

Maar weet nu ff niet of de fout in m'n html zit (en dat m'n php dat dus verkeerd interpreteert) of in php zelf. Line 1 in php en in html file is de <html> tag, is toch raar?
De regel 1 is je MySQL regel, en '','','' wijst er op dat je variabelen leeg zijn :)

Pierre - Motormedia.nl - Motor-Forum.nl - Motorshopper.nl - Motormeuk.nl - Motorstek.nl


  • degoeroe
  • Registratie: Augustus 2001
  • Laatst online: 29-10-2019

degoeroe

Wat hep de goeroe nau gesegt !

Topicstarter
M'n variabelen worden toch gevoed door m'n html formulier dat de php-pagina aanroept. In de textvelden staat data ingevuld en die zijn dus niet leeg.

P IV 2,4 (533) ASUS P4B533, 640Mb PC-2100, 80Gb Maxtor 8Mb cache & 60Gb IBM, 2 x 17" IIyama Prolite X436S-S, Plextor PX-708A, Plextor 52/24/52A, Logitech Marble Mouse USB, GeForce 3 Ti200


  • XWB
  • Registratie: Januari 2002
  • Niet online

XWB

Devver
Degoeroe schreef op maandag 03 oktober 2005 @ 19:39:
M'n variabelen worden toch gevoed door m'n html formulier dat de php-pagina aanroept. In de textvelden staat data ingevuld en die zijn dus niet leeg.
:? Al van $_POST gehoord ? :p

PHP:
1
2
3
4
5
<?php
$sql = "UPDATE producten SET (product='" . $_POST['product'] . "', aantal='" . $_POST['aantal'] . "', sortering='" . $_POST['sortering'] . "', pot_maat='" . $_POST['pot_maat'] . "', belading='" . $_POST['belading'] . "', fustcode='" . $_POST['fustcode'] . "')";
$result = mysql_query($sql) or die(mysql_error());
echo "Thank you Information entered";
?>

March of the Eagles


Verwijderd

Degoeroe schreef op maandag 03 oktober 2005 @ 19:39:
M'n variabelen worden toch gevoed door m'n html formulier dat de php-pagina aanroept. In de textvelden staat data ingevuld en die zijn dus niet leeg.
En toen ging je dat eerst controleren, en kwam je tot de conclusie dat ze wel degelijk leeg waren. Sinds PHP 4.1 wordt eigenlijk al niet meer op die manier gewerkt. Het kan nog wel, maar is sterk af te raden. Je variabelen haal je uit $_GET['product'] en/of $_POST['product'], en dan nog mag je die niet zomaar in een query zetten ivm het gevaar van SQL injectie. Dus altijd eerst de variabelen controleren!

  • XWB
  • Registratie: Januari 2002
  • Niet online

XWB

Devver
Juist ja, zie trouwens ook P&W FAQ - PHP :)

March of the Eagles


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 15-04 22:07

NMe

Quia Ego Sic Dico.

Weinig aan toe te voegen. ;)

Degoeroe, je wordt in dit topic redelijk aan het handje genomen, en dat is hier eigenlijk niet de bedoeling. Zeker gezien het feit dat je problemen hebt met de basis van een taal. Hier in Programming & Webscripting achten we de basis van het programmeren an sich en een taal in het bijzonder als bekend of we verwachten in elk geval dat je dit soort dingen zelf uit kan vinden. Veel van de valkuilen waar je nu in loopt staan zelfs letterlijk beschreven in onze FAQ. Lees die dus nog een keer goed door. :)

Verder kan ik niet veel meer zeggen dan dit: lees een goed boek of zoek een goeie tutorial uit. :)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.

Pagina: 1

Dit topic is gesloten.