Ik ben nieuw met PHP en SQL en moet zeggen dat het mij vandaag reeds gelukt is om gegevens in te voeren, sorteren, enz...
Enkel werkt mijn update niet. Ik zie dus perfect de gegevens in het formulier staan maar wanneer ik gegevens verander en op SUBMIT DRUK dan ziet er alles goed uit tot wanneer ik dan kijk in mijn uitlees bestand dan zie ik dat er niks werd gewijzigd.
<?php
include error_reporting(E_ALL);
//replace usernaem,password, and yourdb with the information for your database
mysql_connect("localhost","raamdecora_db1","***") or die("Error: ".mysqlerror());
mysql_select_db("raamdecora_db1");
//get the variables we transmitted from the form
$firmaID = $_POST['firmaID'];
$firma = $_POST['firma'];
$straat = $_POST['straat'];
$huisnummer = $_POST['huisnummer'];
$groep_binnen = $_POST['groep_binnen'];
$groep_buiten = $_POST['groep_buiten'];
$groep_gordijnstoffen = $_POST['groep_gordijnstoffen'];
//replace TestTable with the name of your table
$sql = "UPDATE klanten SET firma = '$firma' WHERE firmaID = '$firmaID' LIMIT 1";
mysql_query($sql) or die ("Error: ".mysql_error());
echo "Database updated. <a href='uitlezen.php'>Return to edit info</a>";
?>
<!-- ALLES HIER IN COMMENTAAR HEB IK EVEN ZITTEN PROBEREN, HELAAS ZONDER RESULTAAT
$sql = "UPDATE klanten SET `firma` = '$firma',`straat` = '$straat',`huisnummer` = '$huisnummer',`groep_binnen` = '$groep_binnen',`groep_buiten` = '$groep_buiten',`groep_gordijnstoffen` = '$groep_gordijnstoffen' WHERE klanten.firmaID = '$firmaID' LIMIT 1";
$sql = "UPDATE klanten SET `firma` = '$firma',`straat` = '$straat',`huisnummer` = '$huisnummer',`groep_binnen` = '$groep_binnen',`groep_buiten` = '$groep_buiten',`groep_gordijnstoffen` = '$groep_gordijnstoffen' WHERE klanten.firmaID = '$firmaID' LIMIT 1";
$sql="INSERT INTO klanten (firma, straat, huisnummer, groep_binnen, groep_buiten, groep_gordijnstoffen)
VALUES
('$_POST[firma]','$_POST[straat]','$_POST[huisnummer]','$_POST[groep_binnen]','$_POST[groep_buiten]','$_POST[groep_gordijnstoffen]')
$sql="UPDATE klanten SET (firma, straat, huisnummer, groep_binnen, groep_buiten, groep_gordijnstoffen)
VALUES
('$_POST[firma]','$_POST[straat]','$_POST[huisnummer]','$_POST[groep_binnen]','$_POST[groep_buiten]','$_POST[groep_gordijnstoffen]') WHERE klanten.firmaID = '$firmaID' LIMIT 1";
UPDATE `raamdecora_db1`.`klanten` SET `firma` = 'jeremyy' WHERE `klanten`.`firmaID` =11 LIMIT 1 ;
UPDATE klanten SET firma = firma WHERE klanten.firmaID = '$firmaID' LIMIT 1";
-->
$sql="UPDATE klanten SET (firma, straat, huisnummer, groep_binnen, groep_buiten, groep_gordijnstoffen)
VALUES
('$_POST[firma]','$_POST[straat]','$_POST[huisnummer]','$_POST[groep_binnen]','$_POST[groep_buiten]','$_POST[groep_gordijnstoffen]') WHERE klanten.firmaID = '$firmaID' LIMIT 1";
UPDATE `raamdecora_db1`.`klanten` SET `firma` = 'jeremyy' WHERE `klanten`.`firmaID` =11 LIMIT 1 ;
UPDATE klanten SET firma = firma WHERE klanten.firmaID = '$firmaID' LIMIT 1";
-->
Dit is mijn MYSQL. (denk wel dat dit juist is, anders zou de rest ook niet werken)
firmaID int(5) Nee Geen auto_increment
firma varchar(50) latin1_swedish_ci Nee Geen
straat varchar(50) latin1_swedish_ci Nee Geen
huisnummer decimal(5,0) Ja NULL
groep_binnen decimal(1,0) Ja NULL
groep_buiten decimal(1,0) Ja NULL
groep_gordijnstoffen decimal(1,0) Ja NULL
titjes schreef:
Wat Ultimatum zegt: codetags afsluiten met [/code]
Wel het probleem is dat hij geen error meld. Wanneer ik dus op SUBMIT druk bij het updaten dan geeft hij mij de melding 'Database updated'. Wanneer ik dan ga kijken in mijn uitleesbestand dan zie ik dat er geen wijzigingen werden aangebracht.
mysql_connect("localhost","raamdecora_db1","***") or die("Error: ".mysqlerror());
mysql_connect("localhost","raamdecora_db1","***") or die("Error: ".mysqlerror());
mysqlerror() is geen geldige php functie.
regel 10, zelfde verhaal als in eerste codeblock.
En zet boven elk bestand of in het bestand dat de rest include error_reporting(E_ALL);. Het beste is dat op regel 2 te doen net achter de php openingstag.
firmaID int(5) Nee Geen auto_increment. Wat doet Nee op deze regel? Is dat een standaard waarde?
1ste code block, regel 10: Zet hier or die(mysql_error()) achter zoals ik al in vorige post zei.
2de code block, regel 4: [..code..]
mysqlerror() is geen geldige php functie.
regel 10, zelfde verhaal als in eerste codeblock.
En zet boven elk bestand of in het bestand dat de rest include error_reporting(E_ALL);. Het beste is dat op regel 2 te doen net achter de php openingstag.
firmaID int(5) Nee Geen auto_increment. Wat doet Nee op deze regel? Is dat een standaard waarde?
Alles werd aangepast zoals je hierboven hebt beschreven. Ook heb ik dit aangepast in de codevoorbeelden bovenaan.
Die 'neen' bij firmaID int(5) is de 'neen van Null'.
Ah, ik zie nu dat mijn zin beetje ongelukkig was, ik bedoelde niet met include dat het ervoor moest.
Dus haal bij include error_reporting(E_ALL); even include weg, excuses voor dat.
Jc2 schreef:
Dit wil zeggen dat in je database de kolom firmaID niet bestaat.
Nee, dat heeft er niets mee te maken omdat het op de uitlees pagina staat en hij het als key in de array $_POST gebruikt, niet uit $row.
kan je voor de zekerheid even disabled eruithalen om te kijken of de notice dan weggaat? En waarom laat je firmaID zien, is een uniek id dus laat me niet nodig.