PHP MYSQL insert probleem(pje)

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik zie gewoon niet wat er mis is met mijn mysql insert query maar krijgt nu een Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in c:\phpdev\www\rottertours\insert-persoon.php on line 11
error

Graag hulp :(

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
session_start(); 
header('Cache-control: private'); // IE 6 Fix for hitting the back menu
if(!isset($HTTP_POST_VARS ['ConfirmReg'])) {
    echo 'You are not authorized to enter this page the way you tried to, so kindly <h1>Leave!!</h1>\n';
        
}else{
include("connect.php");

$query = "INSERT INTO persoon(Type, Naam, Password, Adres, Postcode, Woonplaats, Land, E-mail, Telefoon_thuis, Telefoon_werk
Mobiel, Rekeningnummer, Geboortedatum, Geslacht) VALUES('  $_SESSION['type']  ','  $_SESSION['naam']  ',
' $_SESSION['paswoord1']  ','  $_SESSION['adres']  ','  $_SESSION['postcode']  ','  $_SESSION['woonplaats']  ','  $_SESSION['land']
','  $_SESSION['email']  ','  $_SESSION['telefoonT']  ','$_SESSION['telefoonW']  ','  $_SESSION['mobiel']  ',
'  $_SESSION['reknummer']  ','  $_SESSION['gebdatum']  ','  $_SESSION['geslacht'] ')";

mysql_query($query) or die('Error executing query');

Acties:
  • 0 Henk 'm!

  • ludo
  • Registratie: Oktober 2000
  • Laatst online: 26-04-2024
Wat dacht je van die if-loop afsluiten met een accolade :? :z

[ Voor 4% gewijzigd door ludo op 29-04-2003 12:56 ]


Acties:
  • 0 Henk 'm!

  • Hu9o
  • Registratie: Mei 2001
  • Laatst online: 09:53

Hu9o

Schokkend

je hebt de values tussen '-tekens. Dit is volgens mij niet nodig.

>>>>>>>>>>>>>>>>>>>>>>>>>Vertel Microsoft over dit probleem <<<<<<<<<<<<<<<<<<<<<<<<<


Acties:
  • 0 Henk 'm!

  • vandijk
  • Registratie: Oktober 1999
  • Laatst online: 15-09 21:19
druk het resultaat van $query eens af, dan zie je waarschijnlijk direct wat er mis is.

Canon cameras en lenzen. Elinchrom flitsers, Lowepro en Pelican tassen/koffers. Polestar 2


Acties:
  • 0 Henk 'm!

  • Skinny
  • Registratie: Januari 2000
  • Laatst online: 13-09 21:14

Skinny

DIRECT!

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$query = "INSERT INTO persoon(Type, Naam, Password, Adres, Postcode, Woonplaats, Land, E-mail,
         Telefoon_thuis, Telefoon_werk, Mobiel, Rekeningnummer, Geboortedatum, Geslacht)
         VALUES('{$_SESSION['type']} ','
        {$_SESSION['naam']}  ','
        {$_SESSION['paswoord1']}  ','
        {$_SESSION['adres']}  ','
        {$_SESSION['postcode']}  ','
        {$_SESSION['woonplaats']}  ','
        {$_SESSION['land']} ','
        {$_SESSION['email']}  ','
        {$_SESSION['telefoonT']}  ','
        {$_SESSION['telefoonW']}  ','
        {$_SESSION['mobiel']}  ', '
        {$_SESSION['reknummer']}  ','
        {$_SESSION['gebdatum']}  ','
        {$_SESSION['geslacht']} ' )";


Ik meen ooit eens gelezen te hebben dat er in sommige gevallen {} omheen moeten, maar vraag me niet waarom. Dit werkt in ieder geval.


[edit]
Die sluit accolade was het ook niet, omdat het alleen runnen van die "query=" regel ook dezelfde foutmelding genereerd.

[ Voor 58% gewijzigd door Skinny op 29-04-2003 13:07 ]

SIZE does matter.
"You're go at throttle up!"


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ludo
Mijn fout, heb niet het hele code gepast omdat ik dacht dat dat overbodig was. Nogmaals even iets aangepast

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
<?php
session_start(); 
header('Cache-control: private'); // IE 6 Fix for hitting the back menu
if(!isset($HTTP_POST_VARS ['ConfirmReg'])) {
    echo "You are not authorized to enter this page the way you tried to, so kindly <h1>leave!!</h1>";
}else{
include("connect.php");


$query('INSERT INTO persoon(Type, Naam, Password, Adres, Postcode, Woonplaats, Land, E-mail, Telefoon_thuis, Telefoon_werk
Mobiel, Rekeningnummer, Geboortedatum, Geslacht) VALUES('$_SESSION['type']','  $_SESSION['naam']  ',
' $_SESSION['paswoord1']  ','$_SESSION['adres'] , $_SESSION['postcode']  ','  $_SESSION['woonplaats']  ','  $_SESSION['land']
','  $_SESSION['email']  ','  $_SESSION['telefoonT']  ','$_SESSION['telefoonW']  ','  $_SESSION['mobiel']  ',
'  $_SESSION['reknummer']  ','  $_SESSION['gebdatum']  ','  $_SESSION['geslacht'];

echo $query;
mysql_query($query) or die('Error executing query');

mysql_close();
echo 'That was great, would you like to view the stats now?';
echo '<br>';
echo 'Go here then <a href=outputphp>to the quote section</a>';
echo '<br>';
echo 'Or back <a href=input.html>to the input form</a>';
}

?>

Krijg nu een 'Parse error: parse error in c:\phpdev\www\rottertours\insert-persoon.php on line 11' error

[ Voor 20% gewijzigd door Verwijderd op 29-04-2003 13:09 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Je gebruikt single quotes ( ' ) binnen andere single quotes ( '$_SESSION['type']' ) en daar is PHP niet zo blij mee...
' " . $_SESSION['type'] . " ' zou wel moeten werken...

[ Voor 100% gewijzigd door Verwijderd op 29-04-2003 13:10 ]


Acties:
  • 0 Henk 'm!

  • Haranaka
  • Registratie: September 2000
  • Laatst online: 08-09 09:36
Je sluit 1 single quote niet af:

'  $_SESSION['geslacht'] ' ;

...


Acties:
  • 0 Henk 'm!

Verwijderd

Verwijderd schreef op 29 april 2003 @ 13:06:
...
PHP:
1
2
3
4
5
6
7
<?
$query('INSERT INTO persoon(Type, Naam, Password, Adres, Postcode, Woonplaats, Land, E-mail, Telefoon_thuis, Telefoon_werk
Mobiel, Rekeningnummer, Geboortedatum, Geslacht) VALUES('$_SESSION['type']','  $_SESSION['naam']  ',
' $_SESSION['paswoord1']  ','$_SESSION['adres'] , $_SESSION['postcode']  ','  $_SESSION['woonplaats']  ','  $_SESSION['land']
','  $_SESSION['email']  ','  $_SESSION['telefoonT']  ','$_SESSION['telefoonW']  ','  $_SESSION['mobiel']  ',
'  $_SESSION['reknummer']  ','  $_SESSION['gebdatum']  ','  $_SESSION['geslacht'];
?>

...
Moet zijn
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
38
39
<?
$query = "
    INSERT INTO
        persoon
        (
            Type,
            Naam,
            Password,
            Adres,
            Postcode,
            Woonplaats,
            Land,
            E-mail,
            Telefoon_thuis,
            Telefoon_werk,
            Mobiel,
            Rekeningnummer,
            Geboortedatum,
            Geslacht
        )
    VALUES
    (
        '" . $_SESSION['type'] . "',
        '" . $_SESSION['naam'] . "',
        '" . $_SESSION['paswoord1'] . "',
        '" . $_SESSION['adres'] . "',
        '" . $_SESSION['postcode'] . "',
        '" . $_SESSION['woonplaats'] . "',
        '" . $_SESSION['land'] . "',
        '" . $_SESSION['email'] . "',
        '" . $_SESSION['telefoonT'] . "',
        '" . $_SESSION['telefoonW'] . "',
        '" . $_SESSION['mobiel'] . "',
        '" . $_SESSION['reknummer'] . "',
        '" . $_SESSION['gebdatum'] . "',
        '" . $_SESSION['geslacht'] . "'
    )
";
?>

[ Voor 28% gewijzigd door Verwijderd op 29-04-2003 13:17 ]


Acties:
  • 0 Henk 'm!

Verwijderd

$query('INSERT...') alsof $query een functie is?? Voor assignment gebruik je '='. Verder moet je query er zo uitzien:

PHP:
1
2
3
4
$query = "INSERT INTO persoon(Type, Naam, Password, Adres, Postcode, Woonplaats, Land, E-mail, Telefoon_thuis, Telefoon_werk
Mobiel, Rekeningnummer, Geboortedatum, Geslacht) 
VALUES('$_SESSION[type]','$_SESSION[naam]',
'$_SESSION[paswoord1]','$_SESSION[adres]','$_SESSION[postcode]','$_SESSION[woonplaats]','$_SESSION[land]','$_SESSION[email]','$_SESSION[telefoonT]'  ','$_SESSION[telefoonW]','$_SESSION[mobiel]','$_SESSION[reknummer]','$_SESSION[gebdatum]','$_SESSION[geslacht]')";


Als je binnen dubbele quotes een array met een string key wil aanspreken moet je de quotes rond de key weglaten of de hele variable tussen accolades zetten, of de dubbele quote verlaten en concat'en.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik post over de rest heen zie ik. FF doornemen...

[ Voor 97% gewijzigd door Verwijderd op 29-04-2003 13:27 ]


Acties:
  • 0 Henk 'm!

  • Skinny
  • Registratie: Januari 2000
  • Laatst online: 13-09 21:14

Skinny

DIRECT!

Volgens mij staan er nu toch genoeg "werkende" oplossingen hier. T kan aan mij liggen.

SIZE does matter.
"You're go at throttle up!"


Acties:
  • 0 Henk 'm!

  • thomaske
  • Registratie: Juni 2000
  • Laatst online: 17-09 07:55

thomaske

» » » » » »

Verwijderd schreef op 29 april 2003 @ 13:19:
$query('INSERT...') alsof $query een functie is?? Voor assignment gebruik je '='. Verder moet je query er zo uitzien:
[..]
Als je binnen dubbele quotes een array met een string key wil aanspreken moet je de quotes rond de key weglaten of de hele variable tussen accolades zetten, of de dubbele quote verlaten en concat'en.
Mag ik u even wijzen op PHP Tiplist #3, Unquoted indices

Brusselmans: "Continuïteit bestaat niet, tenzij in zinloze vorm. Iets wat continu is, is obsessief, dus ziekelijk, dus oninteressant, dus zinloos."


Acties:
  • 0 Henk 'm!

Verwijderd

Niet moeilijk doen, het antwoord van vosjuh is goed.
Verwijderd in "PHP MYSQL insert probleem(pje)"

[ Voor 7% gewijzigd door Verwijderd op 29-04-2003 17:52 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
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
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
or die(mysql_error()); 
<?php
session_start(); 
header('Cache-control: private'); // IE 6 Fix for hitting the back menu
if(!isset($HTTP_POST_VARS ['ConfirmReg'])) {
    echo "You are not authorized to enter this page the way you tried to, so kindly <h1>leave!!</h1>";
}else{
include("connect.php");


$query = " 
    INSERT INTO 
        persoon 
        ( 
            Type, 
            Naam, 
            Password, 
            Adres, 
            Postcode, 
            Woonplaats, 
            Land, 
            E-mail, 
            Telefoon_thuis, 
            Telefoon_werk, 
            Mobiel, 
            Rekeningnummer, 
            Geboortedatum, 
            Geslacht 
        ) 
    VALUES 
    ( 
        '" . $_SESSION['type'] . "', 
        '" . $_SESSION['naam'] . "', 
        '" . $_SESSION['paswoord1'] . "', 
        '" . $_SESSION['adres'] . "', 
        '" . $_SESSION['postcode'] . "', 
        '" . $_SESSION['woonplaats'] . "', 
        '" . $_SESSION['land'] . "', 
        '" . $_SESSION['email'] . "', 
        '" . $_SESSION['telefoonT'] . "', 
        '" . $_SESSION['telefoonW'] . "', 
        '" . $_SESSION['mobiel'] . "', 
        '" . $_SESSION['reknummer'] . "', 
        '" . $_SESSION['gebdatum'] . "', 
        '" . $_SESSION['geslacht'] . "' 
    ) 
"; 


echo $query."<br>";
mysql_query($query) or die(mysql_error()); 



echo 'That was great, would you like to view the stats now?';
echo '<br>';
echo 'Go here then <a href=outputphp>to the quote section</a>';
echo '<br>';
echo 'Or back <a href=input.html>to the input form</a>';
}

?>


'You have an error in your SQL syntax near '-mail, Telefoon_thuis, Telefoon_werk, ' at line 12'

Heb ligt denk ik niet aan mijn dbstructuur of de input, want heb gelijk alles naar "tekst" gegooid zodat het ook cijfers invult. Dus volg het nu ff niet meer.

Wat zie ik over het hoofd? :(

Acties:
  • 0 Henk 'm!

  • not-known
  • Registratie: Februari 2002
  • Laatst online: 20-07 00:04

not-known

[BI] Crewmember

het ligt blijkbaar aan het '-' in E-mail aan de fout te zien...

ik weet het niet zeker maar het '-' teken, mag volgens mij niet in een kol. naam

[ Voor 10% gewijzigd door not-known op 29-04-2003 18:54 ]

Officiëel bikkel'n in #bikkels
Campzone Veld C FieldAdmin
De Veld C site!


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Doh, je hebt gelijk. Thanx iedereen :)
Pagina: 1