Scholieren.com forum

Scholieren.com forum (https://forum.scholieren.com/index.php)
-   Software & Hardware (https://forum.scholieren.com/forumdisplay.php?f=20)
-   -   [mysql] gegevens in tabel bijwerken (https://forum.scholieren.com/showthread.php?t=1591362)

freyk 03-06-2007 16:25

[mysql] gegevens in tabel bijwerken
 
Voor een opdracht voor school, ben ik bezig met het schrijven van een helpdeskregistratiesysteem met behulp van php & mysql.
Alleen heb ik nog niet zoveel ervaring met mysql.

Ik wil graag graag een aantal gegevens van een incident bijwerken, maar dat wil hij niet en krijg zelfs geen foutmelding.
Heb al verschillende met verschillende codes gespeeld en heb de gebruiker update-rechten gegeven.

Zouden jullie eens naar mijn code willen kijken?

b.v.d
PHP-code:

$incidentnr $_POST["incidentnr"];
$servicedeskmedewerkernr $_POST["servicedeskmedewerkernr"];
$servicedeskmedewerkervoornaam $_POST["servicedeskmedewerkervoornaam"];
$startdatum  $_POST["startdatum"];
$starttijd  $_POST["starttijd"];
$medewerkernr  $_POST["medewerkernr"];
$medewerkervoornaam $_POST["medewerkervoornaam"];
$binnenkomst $_POST["binnenkomst"];
$status $_POST["status"];
$prioriteit $_POST["prioriteit"];
$einddatum $_POST["einddatum"];
$eindtijd $_POST["eindtijd"];
$omschrijving $_POST["omschrijving"];
$actie $_POST["actie"];

# maak contact met database
include("dbcon.php");

#bewerk gegevens
mysql_query("UPDATE incidenten SET startdatum = '$startdatum', incidentnr = '$incidentnr', servicedeskmedewerkernr = '$servicedeskmedewerkernr', servicedeskmedewerkervoornaam = '$servicedeskmedewerkervoornaam', startdatum = '$startdatum', starttijd = '$startijd', medewerkernr = '$medewerkernr', medewerkervoornaam = '$medewerkervoornaam', binnenkomst = '$binnenkomst', status  = '$status', prioriteit = '$prioriteit', einddatum = '$einddatum', eindtijd = '$eindtijd', omschrijving  = '$omschrijving', actie = '$actie
WHERE incidentnr = '
$incidentnr'");

mysql_close(); 


Kingofthemall 03-06-2007 18:21

Ik kan er ook niet zoveel mee nog, maar misschien moet je zorgen dat je sql een error geeft? Ik zie niet iets van een foutmeldingsfunctie staan?

Ik heb even een stukje geknipt uit een van mn scripts:
PHP-code:

$query "SELECT prod_id FROM products";
$resultaat mysql_query($query)
    or die(
"Mislukte Query!: ".mysql_error()); 

Ik weet t ook niet eigenlijk, misschien heb je dit al geprobeerd maja misschien ook niet en heb je er wat aan :)

freyk 03-06-2007 18:32

Dat had ik al getest en database nam de bewerkingen niet op. :(

Kingofthemall 03-06-2007 18:36

Citaat:

freyk schreef op 03-06-2007 @ 19:32 :
Dat had ik al getest en database nam de bewerkingen niet op. :(
Da's wel nasty :| Wat is je plan nu? Ik heb geen idee wat je moet doen als je geen foutmelding krijgt, nu kan t overal wel aan liggen (n)

Succes! Als ik iemand vind die t probleem kent hoor je 't :p (y)

freyk 03-06-2007 19:08

Het probleem zit hem echt in de script.
want als ik het alle rechten geef, wil hij de gegevens ook niet bewerken.

LB06 03-06-2007 19:13

Weet je zeker dat:

- Je error_reporting aan hebt staan?
- Je überhaupt connectie hebt met de database? Aka doe eens een simpele select query en poep de output op je webpagina uit.

Overigens wil ik ook nog even opmerken dat je zo nooit queries moet opbouwen. Dan krijg je gegarandeerd last van SQL Injection.

freyk 03-06-2007 19:22

Citaat:

LB06 schreef op 03-06-2007 @ 20:13 :
- Je error_reporting aan hebt staan?
Als je die van php bedoelt? ja, staat aan.

Citaat:

LB06 schreef op 03-06-2007 @ 20:13 :
- Je überhaupt connectie hebt met de database? Aka doe eens een simpele select query en poep de output op je webpagina uit.
Ik heb met dbcon.php ook registratie en leesscriptjes kunnen maken.
Oftwel, deze maakt altijd connectie met de database.
Waarom hij niet incidentgegevens bij wil werken, is voor mij nog steeds een raadsel.
(zal het later eens op got vragen)

Citaat:

LB06 schreef op 03-06-2007 @ 20:13 :
Overigens wil ik ook nog even opmerken dat je zo nooit queries moet opbouwen. Dan krijg je gegarandeerd last van SQL Injection.
Zo heb ik het via internet geleerd, maar het kan geen kwaad om dat artikel door te lezen en op te volgen. :)

superduck 03-06-2007 22:09

Echo al die variabelen eens en probeer de variabelen in de query te vervangen door input, zit er niet een typo in 'incidentnr' op de invoer-pagina ofzo?

Er zit er wel een in $starttijd in je query.

freyk 04-06-2007 08:00

Ik vond op phpfreakz een voor mij werkende query!

PHP-code:

mysql_query("UPDATE incidenten SET 
startdatum = '"
.$startdatum."', 
incidentnr = '"
.$incidentnr."', 
servicedeskmedewerkernr = '"
.$servicedeskmedewerkernr."', 
servicedeskmedewerkervoornaam = '"
.$servicedeskmedewerkervoornaam."', 
startdatum = '"
.$startdatum."', 
starttijd = '"
.$startijd."', 
medewerkernr = '"
.$medewerkernr."', 
medewerkervoornaam = '"
.$medewerkervoornaam."', 
binnenkomst = '"
.$binnenkomst."', 
status  = '"
.$status."', 
prioriteit = '"
.$prioriteit."', 
einddatum = '"
.$einddatum."', 
eindtijd = '"
.$eindtijd."', 
omschrijving  = '"
.$omschrijving."', 
actie = '"
.$actie."' 
WHERE incidentnr = '"
.$incidentnr."'"); 


freyk 04-06-2007 12:41

K*T, Ik weet niet wat ik heb gedaan, mijn bovenstaande code wil hij niet slikken.
Ik krijg de foutmelding: querry was empty.

Wat ik ook niet snap is dat ik de bewerkingsquerry van phpmyadmin, hij het ook niet wil bewerken.
En in phpmyadmin zelf wel.

Code wat ik nu heb:
PHP-code:

<?php
$incidentnr 
$_POST["incidentnr"];
$servicedeskmedewerkernr $_POST["servicedeskmedewerkernr"];
$servicedeskmedewerkervoornaam $_POST["servicedeskmedewerkervoornaam"];
$startdatum  $_POST["startdatum"];
$starttijd  $_POST["starttijd"];
$medewerkernr  $_POST["medewerkernr"];
$medewerkervoornaam $_POST["medewerkervoornaam"];
$binnenkomst $_POST["binnenkomst"];
$status $_POST["status"];
$prioriteit $_POST["prioriteit"];
$einddatum $_POST["einddatum"];
$eindtijd $_POST["eindtijd"];
$omschrijving $_POST["omschrijving"];
$actie $_POST["actie"];

# maak contact met database
include("dbcon.php");

#Werkende code van dennis
$bewerk=mysql_query("UPDATE `servicedesk`.`incidenten` SET `incidentnr` = '$incidentnr', `servicedeskmedewerkernr` = '$servicedeskmedewerkernr', `servicedeskmedewerkervoornaam` ='$servicedeskmedewerkervoornaam', `startdatum` = '$startdatum', `starttijd` = '$starttijd', `medewerkernr` = '$medewerkernr', `medewerkervoornaam` = '$medewerkervoornaam', `binnenkomst` = '$binnenkomst', `status` = '$status', `prioriteit` = '$prioriteit', `einddatum` = '$einddatum', `eindtijd` = '$eindtijd', `omschrijving` = '$omschrijving', `actie` = '$actie' WHERE `incidenten`.`incidentnr` =$incidentnr LIMIT 1");

$resultaat mysql_query($bewerk) or die("Querry is helaas mislukt.<br><br> Foutmelding:  ".mysql_error());

mysql_close();
?>


freyk 05-06-2007 21:26

Na een ochtendje zitten debuggen, kom ik met de volgende (tot nu toe) werkende code:

PHP-code:

$incidentnr $_POST["incidentnr"];
$servicedeskmedewerkernr $_POST["servicedeskmedewerkernr"];
$servicedeskmedewerkervoornaam $_POST["servicedeskmedewerkervoornaam"];
$startdatum  $_POST["startdatum"];
$starttijd  $_POST["starttijd"];
$medewerkernr  $_POST["medewerkernr"];
$medewerkervoornaam $_POST["medewerkervoornaam"];
$binnenkomst $_POST["binnenkomst"];
$status $_POST["status"];
$prioriteit $_POST["prioriteit"];
$einddatum $_POST["einddatum"];
$eindtijd $_POST["eindtijd"];
$omschrijving $_POST["omschrijving"];
$actie $_POST["actie"];

$bewerk=mysql_query("UPDATE `incidenten` SET `incidentnr` = '$incidentnr', `servicedeskmedewerkernr`='$servicedeskmedewerkernr', `servicedeskmedewerkervoornaam`='$servicedeskmedewerkervoornaam', `startdatum`='$startdatum', `starttijd`='$starttijd', `medewerkernr`='$medewerkernr', `medewerkervoornaam`='$medewerkervoornaam', `binnenkomst`='$binnenkomst', `status`='$status', `prioriteit`='$prioriteit', `einddatum`='$einddatum', `eindtijd`='$eindtijd', `omschrijving`='$omschrijving', `actie`='$actie' WHERE `incidentnr`= $incidentnr");

$resultaat mysql_query($bewerk) or die("Querry is helaas mislukt.<br><br> Foutmelding:  ".mysql_error()); 

(grrrr, K*T typfoutjes.
Als je er een hebt, werkt je hele script niet)


Alle tijden zijn GMT +1. Het is nu 19:32.

Powered by vBulletin® Version 3.8.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.