update en foutmelding

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Erik Smit

Erik Smit

24/07/2008 10:19:00
Quote Anchor link
Hallo allen, Het probleem is dat de "antwoord"pagina niets weergeeft van de echo's een van de meldingen is dat het bestand niet kan worden gevonden??
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
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 ()};

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
 
PHP hulp

PHP hulp

19/11/2024 16:28:49
 
Douwe

Douwe

24/07/2008 10:22:00
Quote Anchor link
Als je er PHP-haakjes omheen zet, zie je meteen dat er in de query iets fout gaat:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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'';
?>

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.
 
Erik Smit

Erik Smit

24/07/2008 10:31:00
Quote Anchor link
ok,
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.
 
Spike Spade

Spike Spade

24/07/2008 10:37:00
Quote Anchor link
WHERE id= "1416" ';
 
Erik Smit

Erik Smit

24/07/2008 10:45:00
Quote Anchor link
Helaas nog steeds geen update:
Getest:
WHERE id= "1416" ';
WHERE id= 1416 ';
WHERE id= '1416' ';
enz
 
- wes  -

- wes -

24/07/2008 10:47:00
Quote Anchor link
en je error is...
 
Frank -

Frank -

24/07/2008 10:49:00
Quote Anchor link
Je gebruikt de haakjes verkeerd, in SQL gebruik je enkele ' haakjes, dus in PHP (voor de query) dubbele " haakjes:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
$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.
 
Erik Smit

Erik Smit

24/07/2008 11:21:00
Quote Anchor link
Helaas nog steeds geen update en gaat de error afhandeling nog fout:
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)
PHP script in nieuw venster Selecteer het PHP script
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
<?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 ()};
?>

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
 
Spike Spade

Spike Spade

24/07/2008 11:55:00
Quote Anchor link
omdat hij het tussen <php ?> tags zet

Ik zou wel WHERE id='1436' "; gebruiken. Dus het cijfer binnen ' '
Gewijzigd op 01/01/1970 01:00:00 door Spike Spade
 
Sven

Sven

24/07/2008 11:57:00
Quote Anchor link
Zoals pgFrank al zei: je gebruikt de haakjes verkeerd. Je hebt je query tussen ' gezet, terwijl dat " moeten zijn.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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"
;
?>


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
 
Spike Spade

Spike Spade

24/07/2008 12:00:00
Quote Anchor link
@Sven, nu doe je het zelf verkeerd voor...
 
Sven

Sven

24/07/2008 12:01:00
Quote Anchor link
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
 
Erik Smit

Erik Smit

24/07/2008 12:11:00
Quote Anchor link
Het maakt niet uit of ik $sql = "UPDATE of $sql = 'UPDATE
gebruik in beide gevallen geen update. Maar er zal best verschil zijn.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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);

?>
 
Sven

Sven

24/07/2008 12:14:00
Quote Anchor link
Ah, nou heb ik hem door! Je moet wel mysql_query($sql), schrijven om je code uit te laten voeren!

dus dan wordt het:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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"
);
?>
 
Erik Smit

Erik Smit

24/07/2008 12:21:00
Quote Anchor link
Het was inderdaad o.a. het ontbrekende mysql_query en " ' omdraaien en " ipv ' aan het begin van een sql.

dank allen hee werkt Erik.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.