PHP & Mysql Fout

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: 1 2 volgende »

SaTZzz T.

SaTZzz T.

20/06/2006 13:59:00
Quote Anchor link
Heb een script geschreven op gegevens in een database te plaatsen..
Alleen er zit een fout in, en ik kan hem maar niet vinden.. Het scipt..

Hij geeft aan: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'VALUES('Naam', '17')' at line 1

Nu heb ik de hele regel wel 100 keer bekeken maar k heb geen fout kunnen vinden..

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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
<?php
    // Include database gegevens
    include("includes/inc.connect_mysql.php");
    
    if(!empty($_POST)){
      //$_Post gegevens omzetten naar variabelen
      $naam     =     $_POST["naam"];
      $leeftijd =     $_POST["leeftijd"];
      $status    =    $_POST["status"];
      $partner     =    "";
      $betaald    =     "Nee";
      
      //Toestemming bepalen
      if($leeftijd >= 16){
          $toestemming = "Niet Nodig!";  
      }
else{
          $toestemming = "Nodig";  
      }

      
      
      
      //Vanuit statusgegevens bepalen of er een partner mee gaat
      if($status == "aanwezig met partner"){
        $status     = "aanwezig";
        $partner     = "- met partner";
      }
else{
        $status     = $status;
        $partner     = "";
      }

      
      //Controle Gegevens (Verwijderen)
      echo "$naam, $leeftijd, $status, $partner, $betaald, $toestemming";
      
      //Bekijken of naam bestaat
      $sql = "SELECT * FROM overzicht WHERE naam='$naam';";
      $resultaat = mysql_query($sql) or die ("Database Fout!!");
      
      if (mysql_num_rows($resultaat) > 0){
          $boodschap = "$naam reeds al aanwezig in database!!<br> Probeer het opnieuw..";
      }
else{
      //Ok, Gegevens naar database schrijven
      $query ="INSERT INTO overzicht (naam, partner, leeftijd, toestemming, betaald, status)";
      $query ="VALUES ('$naam', '$partner', '$leeftijd', '$toestemming', '$betaald', '$status');";
      $result = mysql_query($query) or die (mysql_error());
      $bericht = "Onderdstaande gegevens toegevoegd aan database:
                    <br>Naam: $naam<br> Leeftijd: $leeftijd<br> Toestemming: $toestemming<br> Betaald: $betaald"
;
      }
      
    }

    
    
?>
Gewijzigd op 01/01/1970 01:00:00 door SaTZzz T.
 
PHP hulp

PHP hulp

21/11/2024 21:35:51
 
Gerben G

Gerben G

20/06/2006 14:01:00
Quote Anchor link
krijg je een foutmelding??
 
Mark L

Mark L

20/06/2006 14:01:00
Quote Anchor link
Wat is de fout melding?
 
SaTZzz T.

SaTZzz T.

20/06/2006 14:01:00
Quote Anchor link
Jep, FF ge-edit was ik vergeten ;)
 
Mark D

Mark D

20/06/2006 14:02:00
Quote Anchor link
Donhertog:
krijg je een foutmelding??


Domme vraag, die staat in zijn beginpost.

edit: srry, vermoedt dat ik net keek toen hij zijn bericht heeft geupdate, bij jullie had ie hem denk ik nog niet geupdate
Gewijzigd op 01/01/1970 01:00:00 door Mark D
 
Gerben G

Gerben G

20/06/2006 14:05:00
Quote Anchor link
echo de query is
 
Mark L

Mark L

20/06/2006 14:06:00
Quote Anchor link
kdenk dat het niety veel uitmaakt... maar dit doe ik vaak:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
      $query
="VALUES ('".$naam."', '".$partner."', '".$leeftijd."', '".$toestemming."', '".$betaald."', '".$status."');";
?>


Waarom staat er eigenlijk na $status) een punt-komma?

Edit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php en ?>
Gewijzigd op 01/01/1970 01:00:00 door Mark L
 
SaTZzz T.

SaTZzz T.

20/06/2006 14:07:00
Quote Anchor link
Naar mijn mening qua afsluiting van de sql syntax, maar zal hem ff zonder proberen..

Anders staat er in het PHP5 boek een erg groote fout!!
 
Erik Rijk

Erik Rijk

20/06/2006 14:08:00
Quote Anchor link
om met een andere $var door te gaan moet je zoeizo .= gebruiken

maar waarom laat je het niet gewoon binnen 1 $var....

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?
$query
="INSERT INTO overzicht (naam, partner, leeftijd, toestemming, betaald, status) VALUES ('".$naam."','".$partner."','".$leeftijd."','".toestemming."','".$betaald."','".$status."')";
?>


zo zou het moeten werken
Gewijzigd op 01/01/1970 01:00:00 door Erik Rijk
 
Frank -

Frank -

20/06/2006 14:08:00
Quote Anchor link
Maak hier eens een 1 variabele van:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
$query
="INSERT INTO overzicht (naam, partner, leeftijd, toestemming, betaald, status)";
$query ="VALUES ('$naam', '$partner', '$leeftijd', '$toestemming', '$betaald', '$status');";
?>

Je overschrijft nu het eerste deel van de query ($query) met het 2e deel van de query. Alleen het 2e deel komt in de functie mysql_query().

Tip: Schrijf een query eens over meerdere regels uit, zonder iedere keer met de var-naam te beginnnen.
 
Mark D

Mark D

20/06/2006 14:10:00
Quote Anchor link
Het kan toch ook zo??

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
$query
="INSERT INTO overzicht (naam, partner, leeftijd, toestemming, betaald, status)";
$query .="VALUES ('$naam', '$partner', '$leeftijd', '$toestemming', '$betaald', '$status');";
?>
 
SaTZzz T.

SaTZzz T.

20/06/2006 14:11:00
Quote Anchor link
Erik:
om met een andere $var door te gaan moet je zoeizo .= gebruiken

maar waarom laat je het niet gewoon binnen 1 $var....

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?
$query
="INSERT INTO overzicht (naam, partner, leeftijd, toestemming, betaald, status) VALUES ('".$naam."','".$partner."','".$leeftijd."','".toestemming."','".$betaald."','".$status."'");
?>


zo zou het moeten werken


Hij geeft de volgende melding..
Parse error: parse error, unexpected ')' in D:\HTTP-Server\www\Smalena BBQ+Spooktocht\opgave.php on line 42
 
Erik Rijk

Erik Rijk

20/06/2006 14:12:00
Quote Anchor link
@ Mark,

Ik vind het er een beetje wazig uitzien.
het beste is zoals Frank zegt.

Je query spreiden over meerdere regels, veel overzichtelijker.
 
SaTZzz T.

SaTZzz T.

20/06/2006 14:12:00
Quote Anchor link
SaTZzz:
Erik:
om met een andere $var door te gaan moet je zoeizo .= gebruiken

maar waarom laat je het niet gewoon binnen 1 $var....

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?
$query
="INSERT INTO overzicht (naam, partner, leeftijd, toestemming, betaald, status) VALUES ('".$naam."','".$partner."','".$leeftijd."','".toestemming."','".$betaald."','".$status."'");
?>


zo zou het moeten werken


Hij geeft de volgende melding..
Parse error: parse error, unexpected ')' in D:HTTP-ServerwwwSmalena BBQ+Spooktochtopgave.php on line 42

Heb de fout al gevonden, moet dit zijn
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$query ="INSERT INTO overzicht (naam, partner, leeftijd, toestemming, betaald, status) VALUES ('".$naam."','".$partner."','".$leeftijd."','".toestemming."','".$betaald."','".$status."')";
 
Frank -

Frank -

20/06/2006 14:13:00
Quote Anchor link
Service van de zaak:
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
<?php
$query
="
INSERT INTO
  overzicht (
    naam,
    partner,
    leeftijd,
    toestemming,
    betaald,
    status
)
VALUES (
  '"
.$naam."',
  '"
.$partner."',
  '"
.$leeftijd."',
  '"
.$toestemming."',
  '"
.$betaald."',
  '"
.$status."'
)
"
;
?>

Opmerking: Leeftijd is een afgeleide van de geboortedatum (evt. geboortejaar). Het is dus handiger om dit op te slaan. De leeftijd kun je dan iedere keer opnieuw berekenen en blijft dus altijd correct. In jouw geval is de leeftijd na verloop van tijd een waardeloos gegeven geworden. Gebruik een DATE om deze datum op te slaan.
 
Erik Rijk

Erik Rijk

20/06/2006 14:13:00
Quote Anchor link
Ik had het zojuist verbeterd :)

succes verder
 
SaTZzz T.

SaTZzz T.

20/06/2006 14:13:00
Quote Anchor link
Bedankt, het werkt!!.. :D
 
Erik Rijk

Erik Rijk

20/06/2006 14:15:00
Quote Anchor link
Tip:

gebruik die van Frank, stuk overzichtelijker, mocht er een fout zitten dan vind je die een stuk sneller
 
SaTZzz T.

SaTZzz T.

20/06/2006 14:15:00
Quote Anchor link
Frank:
Service van de zaak:
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
<?php
$query
="
INSERT INTO
  overzicht (
    naam,
    partner,
    leeftijd,
    toestemming,
    betaald,
    status
)
VALUES (
  '"
.$naam."',
  '"
.$partner."',
  '"
.$leeftijd."',
  '"
.$toestemming."',
  '"
.$betaald."',
  '"
.$status."'
)
"
;
?>

Opmerking: Leeftijd is een afgeleide van de geboortedatum (evt. geboortejaar). Het is dus handiger om dit op te slaan. De leeftijd kun je dan iedere keer opnieuw berekenen en blijft dus altijd correct. In jouw geval is de leeftijd na verloop van tijd een waardeloos gegeven geworden. Gebruik een DATE om deze datum op te slaan.


De datum heb ik gewoon zo gedaan, omdat het systeem hooguit een maand of 2 blijft draaien.. waarna hij de prullenbak in gaat..
Maar zal er met andere systemen die ik ga bouwen, rekening mee houden.. ;)
Gewijzigd op 01/01/1970 01:00:00 door SaTZzz T.
 
Frank -

Frank -

20/06/2006 14:19:00
Quote Anchor link
Quote:
De datum heb ik gewoon zo gedaan, omdat het systeem hooguit een maand of 2 blijft draaien.. waarna hij de prullenbak in gaat..
Bedenk dat dit soort gegevens erg waardevol kan zijn. Er zijn een hoop mensen die goed geld verdienen met datamining. Ook jij kunt zo je eigen database met waardevolle informatie opbouwen. Het lijkt mij zonde om dat zo maar weg te gooien.

Hou wel de privacy in de gaten, maar wanneer jij deze data alleen voor jouw eigen werkzaamheden gebruikt, is dat niet zo snel een probleem.

Succes!
 
Jan geen

Jan geen

20/06/2006 15:16:00
Quote Anchor link
het meest overzichtelijke vind ik nog steeds:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
$query
= "INSERT INTO overzicht SET
    naam = '"
.$naam."',
    partner = '"
.$partner."',
    leeftijd = '"
.$leeftijd."',
    toestemming = '"
.$toestemming."',
    betaald = '"
.$betaald."',
    status = '"
.$status."' ";
?>
Gewijzigd op 01/01/1970 01:00:00 door Jan geen
 

Pagina: 1 2 volgende »



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.