Post (php/java combi)

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • -Nexus
  • Registratie: Februari 2002
  • Laatst online: 02-09 09:17

-Nexus

|1.25GHz G4 Powerbook|

Topicstarter
Ik ben sinds vanmiddag bezig een "simpel" update scripje te converteren naar mijn site :(
Nu ik de afgelopen 2 uur constant de zelfde foutmelding krijg en ik een beetje moedeloos wordt, hoop ik dat jij mij kan helpen:

De foutmelding

FOUT: You have an error in your SQL syntax near 'leerling_adres = '' leerling_postcode = '' leerling_tel = '' leerlin' at line 5

---------------------------------------------------------------------------------------
Lijkt me duidelijk, php krijgt volgens mij lege velden binnen?!
Ik blijf bij dit topic refreshen om vragen te beantwoorden

Tabel is dus leerling,
enne missien kan ik beter niet de stukjes gaan toelichten omdat ik dan misschien de fout voor jullie ook verberg, of ben ik nou zo'n n00b? ;)


code:
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
<?php require_once('Connections/MySQL_relation.php'); ?>
<?php
mysql_select_db($database_MySQL_relation, $MySQL_relation);
// controleren of pagina zichzelf heeft aangeroepen
// via hidden-field uit het formulier
if (isset($_POST["bevestiging"])){
    // query samenstellen
    $query="UPDATE leerling SET 
        klas_id = '". $_POST["klas_id"] ."', 
        leerling_naam = '". $_POST["leerling_naam"] ."', 
        leerling_achternaam = '". $_POST["leerling_achternaam"] . "' 
        leerling_adres = '". $_POST["leerling_adres"] . "' 
        leerling_postcode = '". $_POST["leerling_postcode"] . "' 
        leerling_tel = '". $_POST["leerling_tel"] . "' 
        leerling_gebdatum = '". $_POST["leerling_gebdatum"] . "'        
        WHERE leerling_id='" .$_POST["leerling_id"] ."'";
    $result = mysql_query($query) or die ("FOUT: " . mysql_error());
    echo("De volgende opdracht is uitgevoerd: <b>$query</b><br>\n");
    if ($result){
        echo ("Record nummer " .$_POST["leerling_id"] . " is bijgewerkt<br>\n");
        echo ("<a href=\"View_alle_studenten.php\">Terug naar het overzicht</a>");
    }
}else{
    // pagina heeft zichzelf nog niet aangeroepen, 
    // formulier tonen om gegevens te bewerken
        $query="SELECT * FROM leerling WHERE leerling_id='" . $_GET["leerling_id"] ."'";
        $result = mysql_query($query) or die ("FOUT: " . mysql_error());

?>
<html>
<head>
    <title>Bewerken: wijzig de gegevens</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><style type="text/css">
<!--
body {
    background-image: url(Images/ackground.jpg);
}
-->
</style><body>
<h2>Wijzig deze gegevens:</h2>
<?php
    while (list($leerling_id, $klas_id, $leerling_naam, $leerling_achternaam, $leerling_adres, $leerling_postcode, $leerling_tel, $leerling_gebdatum)   = mysql_fetch_row($result)){
    $kl=$klas_id;
    $ln=$leerling_naam;
    $la=$leerling_achternaam;
    $ad=$leerling_adres;
    $po=$leerling_postcode;
    $te=$leerling_tel;
    $gb=$leerling_gebdatum;
    }?>
    <form action="<?php echo($_SERVER['PHP_SELF']);?>" method="post">
    <input type="hidden" name="bevestiging" value="1">
    <input type="hidden" name="leerling_id" value="<?php echo($_GET["leerling_id"]);?>">
    Klas:<input type="text" name "klas_id"  value="<?php echo($kl);?>" size="30"><br>
            Naam:<input type="text" name "leerling_naam"
        value="<?php echo($ln);?>" size="30"><br>
    Achternaam:<input type="text" name "leerling_achternaam"
        value="<?php echo($la);?>" size="30"><br>
    Adres:<input type="text" name "leerling_adres"
        value="<?php echo($ad);?>" size="30"><br>
    Postcode:<input type="text" name "leerling_postcode"
        value="<?php echo($po);?>" size="30"><br>
    Telefoonnummer:<input type="text" name "leerling_tel"
        value="<?php echo($te);?>" size="30"><br>
    Geboortedatum:<input type="text" name "leerling_gebdatum"
        value="<?php echo($gb);?>" size="30"><br>
        <hr>
    <input type="Submit" value="Bijwerken">
    <input type="Button" value="Terug" onclick="javascript:history.back();">
    </form>
    <?php
    }
    ?>

</body>
</html>

[ Voor 23% gewijzigd door -Nexus op 29-10-2003 23:45 ]


Acties:
  • 0 Henk 'm!

  • wasigh
  • Registratie: Januari 2001
  • Niet online

wasigh

wasigh.blogspot.com

Wat is precies je vraag?

als je hier:

code:
1
name "leerling_naam"


eens een = tussen zet?
name="leerling_naam" ??


p.s. wat heeft dit met java te maken?

[ Voor 92% gewijzigd door wasigh op 29-10-2003 23:48 ]


Acties:
  • 0 Henk 'm!

  • We Are Borg
  • Registratie: April 2000
  • Laatst online: 17:03

We Are Borg

Moderator Wonen & Mobiliteit / General Chat
PHP:
1
2
3
4
5
<?php
        klas_id = '". $_POST["klas_id"] ."', 
        leerling_naam = '". $_POST["leerling_naam"] ."', //wel komma
        leerling_achternaam = '". $_POST["leerling_achternaam"] . "'  //nog meer regels zonder komma
?>


Waarom na leerling_naam regel wel een komma en daarna niet meer :) ?

[ Voor 85% gewijzigd door We Are Borg op 29-10-2003 23:48 ]


Acties:
  • 0 Henk 'm!

  • -Nexus
  • Registratie: Februari 2002
  • Laatst online: 02-09 09:17

-Nexus

|1.25GHz G4 Powerbook|

Topicstarter
Ik heb een overview pagina,
en daar heb ik een knopje bij gemaakt "bewerken"
daar kom je doormiddel van /Bewerk_leerl.php?leerling_id=1
dit soort links in deze pagina,
bedoeling is dus dat ie de database uitleest op deze user,
dat doet ie ondertussen
maar zogauw ik op submit druk is het feest over want dan krijg ik de foutmeldingen

kijken we naar regel9:
code:
1
9:        klas_id = '". $_POST["klas_id"] ."',

welke klas_id haalt ie dan van onder de pagina? hij maakt de linker aan en daar gebruikt ie de rechter ". $_POST["klas_id"] voor als ik me niet vergis?
We Are Borg schreef op 29 oktober 2003 @ 23:46:
PHP:
1
2
3
4
5
<?php
        klas_id = '". $_POST["klas_id"] ."', 
        leerling_naam = '". $_POST["leerling_naam"] ."', //wel komma
        leerling_achternaam = '". $_POST["leerling_achternaam"] . "'  //nog meer regels zonder komma
?>


Waarom na leerling_naam regel wel een komma en daarna niet meer :) ?
Wat nou??? het is weg, heb ik echt al een avond lang straal langs gekeken, en het ergste is nog wel dat ik het al een keer had, en ik vanmiddag rond een uur of 5 besloot alles opnieuw te typen :D

nu heb ik weer een andere foutmelding 8)
You have an error in your SQL syntax near 'WHERE leerling_id='1'' at line 9

[ Voor 57% gewijzigd door -Nexus op 30-10-2003 00:01 ]


Acties:
  • 0 Henk 'm!

  • We Are Borg
  • Registratie: April 2000
  • Laatst online: 17:03

We Are Borg

Moderator Wonen & Mobiliteit / General Chat
-Nexus schreef op 29 oktober 2003 @ 23:50:
You have an error in your SQL syntax near 'WHERE leerling_id='1'' at line 9
ben blij dat ik 1 error weg kreeg voor je...ben geen held in php :P

Mag dat 'WHERE leerling_id='1'' ?Die enkele haakjes zo bij elkaar

[ Voor 9% gewijzigd door We Are Borg op 30-10-2003 00:31 ]


Acties:
  • 0 Henk 'm!

  • vorlox
  • Registratie: Juni 2001
  • Laatst online: 02-02-2022

vorlox

I cna ytpe 300 wrods pre miute

Normaal doe ik dit niet maar ik had er even zin in...
Het is wat overdreven opgeschreven maar kijk of je er wat aan hebt..;)

Je fout in de query's was volgens mij inderdaad alleen een paar komma's
je moet het opschrijven zoals een array ...dus array('test1','test2','test3');
je zet dus na de laatste entry GEEN komma...

er zitten misschien nog wel fouten in maarja ik kon hem niet ff testen
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
<?php 
//DB connectie
require_once('Connections/MySQL_relation.php'); 
mysql_select_db($database_MySQL_relation, $MySQL_relation);

// controleren of pagina zichzelf heeft aangeroepen
if($_SERVER['REQUEST_METHOD']=="POST")
{
    //Build Query
    $QUERY  = " UPDATE leerling SET ";
    $QUERY .= " klas_id = '". $_POST["klas_id"] ."',";
    $QUERY .= " leerling_naam = '". $_POST["leerling_naam"] ."', ";
    $QUERY .= " leerling_achternaam = '". $_POST["leerling_achternaam"] . "', ";
    $QUERY .= " leerling_adres = '". $_POST["leerling_adres"] . "', ";
    $QUERY .= " leerling_postcode = '". $_POST["leerling_postcode"] . "', ";
    $QUERY .= " leerling_tel = '". $_POST["leerling_tel"] . "', ";
    $QUERY .= " leerling_gebdatum = '". $_POST["leerling_gebdatum"] . "' ";
    $QUERY .= " WHERE leerling_id='" .$_POST["leerling_id"] ."' ";
    
    //Send query to MySQL
    if(!mysql_query($QUERY))
    {
        echo mysql_error();
    } //End if(!mysql_query($QUERY))
        else
        {
            echo "De volgende opdracht is uitgevoerd: <b>$QUERY</b><br>\n";
        } //End else if(!mysql_query($QUERY))
    
} //End if($_SERVER['REQUEST_METHOD']=="POST")

   $query="SELECT * FROM leerling WHERE leerling_id='" . $_GET["leerling_id"] ."'";
   $result = mysql_query($query) or die ("FOUT: " . mysql_error());

//enz......
?>


O-)

;)

Acties:
  • 0 Henk 'm!

  • stekkel
  • Registratie: Augustus 2001
  • Laatst online: 17-09 08:05
[b][message=19123947,noline]vorlox schreef op 30 oktober 2003 @
PHP:
1
2
3
4
5
6
7
8
9
10
    //Build Query
    $QUERY  = " UPDATE leerling SET ";
    $QUERY .= " klas_id = '". $_POST["klas_id"] ."',";
    $QUERY .= " leerling_naam = '". $_POST["leerling_naam"] ."', ";
    $QUERY .= " leerling_achternaam = '". $_POST["leerling_achternaam"] . "', ";
    $QUERY .= " leerling_adres = '". $_POST["leerling_adres"] . "', ";
    $QUERY .= " leerling_postcode = '". $_POST["leerling_postcode"] . "', ";
    $QUERY .= " leerling_tel = '". $_POST["leerling_tel"] . "', ";
    $QUERY .= " leerling_gebdatum = '". $_POST["leerling_gebdatum"] . "' ";
    $QUERY .= " WHERE leerling_id='" .$_POST["leerling_id"] ."' ";


O-)

;)
Dit kan een domme opmerking zijn van iemand die nog nooit de php sql functies gebruikt heeft maar volgens mij moet je die leading space weghalen.

Zoals het er nu staat worden de velden gescheiden door een dubbele spatie en begint de query ook nog eens met een spatie.

Wanneer mysql erg strikt met the queries omgaat dan zou dat tot een probleem kunnen leiden.

Acties:
  • 0 Henk 'm!

  • -Nexus
  • Registratie: Februari 2002
  • Laatst online: 02-09 09:17

-Nexus

|1.25GHz G4 Powerbook|

Topicstarter
vorlox schreef op 30 oktober 2003 @ 00:33:
Normaal doe ik dit niet maar ik had er even zin in...
Het is wat overdreven opgeschreven maar kijk of je er wat aan hebt..;)

Je fout in de query's was volgens mij inderdaad alleen een paar komma's
je moet het opschrijven zoals een array ...dus array('test1','test2','test3');
je zet dus na de laatste entry GEEN komma...

er zitten misschien nog wel fouten in maarja ik kon hem niet ff testen
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
<?php 
//DB connectie
require_once('Connections/MySQL_relation.php'); 
mysql_select_db($database_MySQL_relation, $MySQL_relation);

// controleren of pagina zichzelf heeft aangeroepen
if($_SERVER['REQUEST_METHOD']=="POST")
{
    //Build Query
    $QUERY  = " UPDATE leerling SET ";
    $QUERY .= " klas_id = '". $_POST["klas_id"] ."',";
    $QUERY .= " leerling_naam = '". $_POST["leerling_naam"] ."', ";
    $QUERY .= " leerling_achternaam = '". $_POST["leerling_achternaam"] . "', ";
    $QUERY .= " leerling_adres = '". $_POST["leerling_adres"] . "', ";
    $QUERY .= " leerling_postcode = '". $_POST["leerling_postcode"] . "', ";
    $QUERY .= " leerling_tel = '". $_POST["leerling_tel"] . "', ";
    $QUERY .= " leerling_gebdatum = '". $_POST["leerling_gebdatum"] . "' ";
    $QUERY .= " WHERE leerling_id='" .$_POST["leerling_id"] ."' ";
    
    //Send query to MySQL
    if(!mysql_query($QUERY))
    {
        echo mysql_error();
    } //End if(!mysql_query($QUERY))
        else
        {
            echo "De volgende opdracht is uitgevoerd: <b>$QUERY</b><br>\n";
        } //End else if(!mysql_query($QUERY))
    
} //End if($_SERVER['REQUEST_METHOD']=="POST")

   $query="SELECT * FROM leerling WHERE leerling_id='" . $_GET["leerling_id"] ."'";
   $result = mysql_query($query) or die ("FOUT: " . mysql_error());

//enz......
?>


O-)

;)
De volgende opdracht is uitgevoerd: UPDATE leerling SET klas_id = '', leerling_naam = 'Piet', leerling_achternaam = 'Verkerk', leerling_adres = 'Pi Laan 17', leerling_postcode = '3526ER', leerling_tel = '030267629', leerling_gebdatum = '1980-12-30' WHERE leerling_id='1'


Je bent mijn php held!!
:Y)

thanks man! ik was er zelf niet meer uitgekomen gisteren

Acties:
  • 0 Henk 'm!

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

stekkel schreef op 30 oktober 2003 @ 01:28:
Dit kan een domme opmerking zijn van iemand die nog nooit de php sql functies gebruikt heeft maar volgens mij moet je die leading space weghalen.

Zoals het er nu staat worden de velden gescheiden door een dubbele spatie en begint de query ook nog eens met een spatie.

Wanneer mysql erg strikt met the queries omgaat dan zou dat tot een probleem kunnen leiden.
Dat heeft niks met php's sql-functies te maken, maar gezien het feit dat er in de defintie waarschijnlijk iets als "spatietoken" staat, mag je zoveel spaties, tabs en newlines toevoegen als je wilt.

't Zou wat wezen als het zo strict ermee werkte dat het enkele enkelvoudige spaties aankon :X
Gelukkig kan mysql dat dan nog net wel (nahja, flex kan het goed genereren, dus mysql krijgt het gratis mee).
Pagina: 1