Waarom werkt deze query niet ?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
// $knID = bijvoorbeeld klantnummer 22
$voornaam = $_POST['voornaam'];
$achternaam = $_POST['achternaam'];
$straat = $_POST['straat'];
$postnummer = $_POST['postnummer'];
$gemeente = $_POST['gemeente'];
$telefoon = $_POST['telefoon'];
$gsm = $_POST['gsm'];
$emailadres = $_POST['emailadres'];
$btwnummer = $_POST['btwnummer'];
mysql_query("UPDATE klanten SET voornaam='$voornaam', achternaam='$achternaam',straat='$straat' ,
postnummer='$postnummer', telefoon='$telefoon', gsm='$gsm', emailadres='$emailadres' ,
btwnummer='$btwnummer' WHERE knID='$knID'") or die (mysql_error());
?>
// $knID = bijvoorbeeld klantnummer 22
$voornaam = $_POST['voornaam'];
$achternaam = $_POST['achternaam'];
$straat = $_POST['straat'];
$postnummer = $_POST['postnummer'];
$gemeente = $_POST['gemeente'];
$telefoon = $_POST['telefoon'];
$gsm = $_POST['gsm'];
$emailadres = $_POST['emailadres'];
$btwnummer = $_POST['btwnummer'];
mysql_query("UPDATE klanten SET voornaam='$voornaam', achternaam='$achternaam',straat='$straat' ,
postnummer='$postnummer', telefoon='$telefoon', gsm='$gsm', emailadres='$emailadres' ,
btwnummer='$btwnummer' WHERE knID='$knID'") or die (mysql_error());
?>
Gewijzigd op 01/01/1970 01:00:00 door JVB
Gebruik je knop om dit te doen.
SanThe.
Edit:
$vars zomaar copiëren is zinloos.
$vars buiten quotes houden.
Script is lek => sql-injection.
Foutafhandeling ontbreekt.
Je post is nu niet echt leesbaar. Pas je post even aan en gebruik en tags om je code heen. Om php code zet je uiteraard dit:SanThe.
Edit:
$vars zomaar copiëren is zinloos.
$vars buiten quotes houden.
Script is lek => sql-injection.
Foutafhandeling ontbreekt.
Gewijzigd op 01/01/1970 01:00:00 door - SanThe -
als ik deze query uitvoer :
Code (php)
1
2
3
4
5
2
3
4
5
<?php
mysql_query("UPDATE klanten SET voornaam='$voornaam', achternaam='$achternaam',straat='$straat' ,
postnummer='$postnummer', telefoon='$telefoon', gsm='$gsm', emailadres='$emailadres' ,
btwnummer='$btwnummer' WHERE knID= 22") or die (mysql_error());
?>
mysql_query("UPDATE klanten SET voornaam='$voornaam', achternaam='$achternaam',straat='$straat' ,
postnummer='$postnummer', telefoon='$telefoon', gsm='$gsm', emailadres='$emailadres' ,
btwnummer='$btwnummer' WHERE knID= 22") or die (mysql_error());
?>
werkt het perfect, dus ik denk dat het moet gezocht worden in de variabele $knID
vreemd is dat als ik de waarde van de variabele op het scherm plaats met echo dat er wel degelijk een waarde in zit. Het lijkt erop dat het laatste stukje niet goed is :
WHERE knID='$klantnummer'";
wat is er fout ? ( dank voor de hulp )
Gewijzigd op 01/01/1970 01:00:00 door JVB
Als ik op de button vezenden druk dan dan heeft de variabele knID geen waarde meer blijkbaar.
Hoe kan ik ervoor zorgen dat de variabele knID zijn waarde blijft behouden ?
Gelieve Niet Bumpen::
Gewijzigd op 01/01/1970 01:00:00 door JVB
Meesturen met het formulier in een hidden form ; ).
Of in de URL als GET parameter :)
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
//veld 1 is string, veld 2 is getal (int)
// controleren of ze bestaan, en of veld 2 wel echt getal is
if(isset($_POST['veld1'],$_POST['veld2'], enz) && is_int($_POST['veld2'])){
//veld 1 is string, veld2 is int
//query opstellen, met veilig maken van veld1
$sql = "UPDATE tabelnaam SET veld1 = '".mysql_real_escape_string($_POST['veld1'])."' , ".$_POST['veld2'];
if(!$result = mysql_query($sql)){
//mysql query geeft false als het niet lukt, en we besparen wat tijd door tegelijkertijd uit te voeren en te controleren (let op de ! aan het begin van de if)
//laat fout zien, maar stopt niet abrupt het gehele script zoals "die" heel vervelend doet
trigger_error(mysql_error());
}
else{
//update query gelukt
echo 'Briljant, de update is gelukt!';
}
}
else {
//kwam niet door if heen
echo 'Of u heeft een veld niet ingevuld, of veld 2 was geen getal';
}
?>
//veld 1 is string, veld 2 is getal (int)
// controleren of ze bestaan, en of veld 2 wel echt getal is
if(isset($_POST['veld1'],$_POST['veld2'], enz) && is_int($_POST['veld2'])){
//veld 1 is string, veld2 is int
//query opstellen, met veilig maken van veld1
$sql = "UPDATE tabelnaam SET veld1 = '".mysql_real_escape_string($_POST['veld1'])."' , ".$_POST['veld2'];
if(!$result = mysql_query($sql)){
//mysql query geeft false als het niet lukt, en we besparen wat tijd door tegelijkertijd uit te voeren en te controleren (let op de ! aan het begin van de if)
//laat fout zien, maar stopt niet abrupt het gehele script zoals "die" heel vervelend doet
trigger_error(mysql_error());
}
else{
//update query gelukt
echo 'Briljant, de update is gelukt!';
}
}
else {
//kwam niet door if heen
echo 'Of u heeft een veld niet ingevuld, of veld 2 was geen getal';
}
?>
Opslaan in een sessie :)