update en foutmelding
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
include "verbinden.php";
function GetVar($name)
{
if (isset($_POST[$name]))
return $_POST[$name];
}
$cnaam = strtolower(GetVar("cnaam"));
echo $cnaam."1<br>";
$ctav = strtolower(GetVar("ctav"));
echo $ctav."2<br>";
$cstraat = strtolower(GetVar("cstraat"));
echo $cstraat."3<br>";
$cpostcode = strtolower(GetVar("cpostcode"));
echo $cpostcode."4<br>";
$cwoonplaats = strtolower(GetVar("cwoonplaats"));
echo $cwoonplaats."5<br>";
$ctelefoon = GetVar("ctelefoon");
echo $ctelefoon."6<br>";
$sql = 'UPDATE
adressen
SET
cnaam="'.$cnaam.'",
ctav="'.$ctav.'",
cstraat="'.$cstraat.'",
cpostcode="'.$cpostcode.'",
cwoonplaats="'.$cwoonplaats.'",
ctelefoon="'.$ctelefoon.'"
WHERE
id=1416';
if (!mysql_query ($sql)) {
trigger_error (mysql_error ()};
function GetVar($name)
{
if (isset($_POST[$name]))
return $_POST[$name];
}
$cnaam = strtolower(GetVar("cnaam"));
echo $cnaam."1<br>";
$ctav = strtolower(GetVar("ctav"));
echo $ctav."2<br>";
$cstraat = strtolower(GetVar("cstraat"));
echo $cstraat."3<br>";
$cpostcode = strtolower(GetVar("cpostcode"));
echo $cpostcode."4<br>";
$cwoonplaats = strtolower(GetVar("cwoonplaats"));
echo $cwoonplaats."5<br>";
$ctelefoon = GetVar("ctelefoon");
echo $ctelefoon."6<br>";
$sql = 'UPDATE
adressen
SET
cnaam="'.$cnaam.'",
ctav="'.$ctav.'",
cstraat="'.$cstraat.'",
cpostcode="'.$cpostcode.'",
cwoonplaats="'.$cwoonplaats.'",
ctelefoon="'.$ctelefoon.'"
WHERE
id=1416';
if (!mysql_query ($sql)) {
trigger_error (mysql_error ()};
Als ik de sql update code weglaat dan krijg ik de goede echo waarden wel te zien. De fout zit volgens mij in de sql code.
Wie kan me zeggen wat ik fout doe?
Erik
Gewijzigd op 01/01/1970 01:00:00 door Erik Smit
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
<?php
$sql = 'UPDATE
adressen
SET
cnaam="'.$cnaam.'",
ctav="'.$ctav.'",
cstraat="'.$cstraat.'",
cpostcode="'.$cpostcode.'",
cwoonplaats="'.$cwoonplaats.'",
ctelefoon="'.$ctelefoon.'"
WHERE
id='1416'';
?>
$sql = 'UPDATE
adressen
SET
cnaam="'.$cnaam.'",
ctav="'.$ctav.'",
cstraat="'.$cstraat.'",
cpostcode="'.$cpostcode.'",
cwoonplaats="'.$cwoonplaats.'",
ctelefoon="'.$ctelefoon.'"
WHERE
id='1416'';
?>
Zoals je ziet staat 1416 daar niet goed. Je sluit met het '-je voor 1416 de string, en daarna stuur je voor PHP onbegrijpbare data. Je moet de '-en rond 1416 dus escapen.
Ok heb de code na de WHERE aangepast zie boven en is nu:
WHERE id=1416'; de ' is ter afsluiting van de update ;-)
Ik krijg nu de echo's te zien maar er komt niets in de database.
de 1416 is even een vaste waarde later wordt het een variabele. Maar hoe escape ik iets. Ik heb ergens gezien dat het met de / moet.
WHERE id= "1416" ';
Getest:
WHERE id= "1416" ';
WHERE id= 1416 ';
WHERE id= '1416' ';
enz
en je error is...
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
<?php
$sql = "UPDATE
adressen
SET
cnaam='".$cnaam."',
ctav='".$ctav."'
WHERE
id = '1416'";
?>
$sql = "UPDATE
adressen
SET
cnaam='".$cnaam."',
ctav='".$ctav."'
WHERE
id = '1416'";
?>
Rest mag je zelf even aanpassen.
Ps. Echo de query ook even, dan is duidelijk hoe deze nu daadwerkelijk richting database gaat.
De echo van de query en geen fout melding.
UPDATE adressen SET cnaam='w', ctav='e', cstraat='l', cpostcode='k', cwoonplaats='o', ctelefoon='3' WHERE id=1416
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<?php
include "connect.php";
function GetVar($name)
{
if (isset($_POST[$name]))
return $_POST[$name]; // Name slaat op de name bij het invoerveld uit correspondentie.php
}
$cnaam = strtolower(GetVar("cnaam"));
echo $cnaam."1<br>";
$ctav = strtolower(GetVar("ctav"));
echo $ctav."2<br>";
$cstraat = strtolower(GetVar("cstraat"));
echo $cstraat."3<br>";
$cpostcode = strtolower(GetVar("cpostcode"));
echo $cpostcode."4<br>";
$cwoonplaats = strtolower(GetVar("cwoonplaats"));
echo $cwoonplaats."5<br>";
$ctelefoon = GetVar("ctelefoon");
echo $ctelefoon."6<br>";
$sql = "UPDATE
adressen
SET
cnaam='".$cnaam."',
ctav='".$ctav."',
cstraat='".$cstraat."',
cpostcode='".$cpostcode."',
cwoonplaats='".$cwoonplaats."',
ctelefoon='".$ctelefoon."'
WHERE
id=1416";
echo $sql;
if (!mysql_query ($sql)) {
trigger_error (mysql_error ()};
?>
include "connect.php";
function GetVar($name)
{
if (isset($_POST[$name]))
return $_POST[$name]; // Name slaat op de name bij het invoerveld uit correspondentie.php
}
$cnaam = strtolower(GetVar("cnaam"));
echo $cnaam."1<br>";
$ctav = strtolower(GetVar("ctav"));
echo $ctav."2<br>";
$cstraat = strtolower(GetVar("cstraat"));
echo $cstraat."3<br>";
$cpostcode = strtolower(GetVar("cpostcode"));
echo $cpostcode."4<br>";
$cwoonplaats = strtolower(GetVar("cwoonplaats"));
echo $cwoonplaats."5<br>";
$ctelefoon = GetVar("ctelefoon");
echo $ctelefoon."6<br>";
$sql = "UPDATE
adressen
SET
cnaam='".$cnaam."',
ctav='".$ctav."',
cstraat='".$cstraat."',
cpostcode='".$cpostcode."',
cwoonplaats='".$cwoonplaats."',
ctelefoon='".$ctelefoon."'
WHERE
id=1416";
echo $sql;
if (!mysql_query ($sql)) {
trigger_error (mysql_error ()};
?>
of topic!
Waarom de de code van BV: Frank rood en blauw terwijl die van mij geheel grijs is. Ik gebruik een editor met highligting.
Gewijzigd op 01/01/1970 01:00:00 door Erik Smit
Ik zou wel WHERE id='1436' "; gebruiken. Dus het cijfer binnen ' '
Gewijzigd op 01/01/1970 01:00:00 door Spike Spade
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
<?php
$sql = "UPDATE
adressen
SET
cnaam='".$cnaam."',
ctav='".$ctav."',
cstraat='".$cstraat."',
cpostcode='".$cpostcode."',
cwoonplaats='".$cwoonplaats."',
ctelefoon='".$ctelefoon."'
WHERE
id=1416";
?>
$sql = "UPDATE
adressen
SET
cnaam='".$cnaam."',
ctav='".$ctav."',
cstraat='".$cstraat."',
cpostcode='".$cpostcode."',
cwoonplaats='".$cwoonplaats."',
ctelefoon='".$ctelefoon."'
WHERE
id=1416";
?>
En @pgFrank: hoe kom jij er nou weer bij om een integer tussen aanhalingstekens te zetten? Had ik niet van je verwacht :P
Gewijzigd op 01/01/1970 01:00:00 door Sven
@Sven, nu doe je het zelf verkeerd voor...
Spike schreef op 24.07.2008 12:00:
@Sven, nu doe je het zelf verkeerd voor...
@Spike daar was ik al achter en heb het aangepast :P
Quote:
Edit: ogenblikje, nu gaat het helemaal mis :P Ik ben het aan het veranderen
Gewijzigd op 01/01/1970 01:00:00 door Sven
gebruik in beide gevallen geen update. Maar er zal best verschil zijn.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
<?php
$sql = "UPDATE
adressen
SET
cnaam='".$cnaam."',
ctav='".$ctav."'
WHERE
id=1416";
echo $sql;
echo mysql_error($sql);
?>
$sql = "UPDATE
adressen
SET
cnaam='".$cnaam."',
ctav='".$ctav."'
WHERE
id=1416";
echo $sql;
echo mysql_error($sql);
?>
dus dan wordt het:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
<?php
$sql = mysql_query("UPDATE
adressen
SET
cnaam='".$cnaam."',
ctav='".$ctav."',
cstraat='".$cstraat."',
cpostcode='".$cpostcode."',
cwoonplaats='".$cwoonplaats."',
ctelefoon='".$ctelefoon."'
WHERE
id=1416");
?>
$sql = mysql_query("UPDATE
adressen
SET
cnaam='".$cnaam."',
ctav='".$ctav."',
cstraat='".$cstraat."',
cpostcode='".$cpostcode."',
cwoonplaats='".$cwoonplaats."',
ctelefoon='".$ctelefoon."'
WHERE
id=1416");
?>
dank allen hee werkt Erik.