PHP & Mysql Fout
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)
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
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";
}
}
?>
// 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.
krijg je een foutmelding??
Wat is de fout melding?
Jep, FF ge-edit was ik vergeten ;)
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
echo de query is
Code (php)
1
2
3
2
3
<?php
$query ="VALUES ('".$naam."', '".$partner."', '".$leeftijd."', '".$toestemming."', '".$betaald."', '".$status."');";
?>
$query ="VALUES ('".$naam."', '".$partner."', '".$leeftijd."', '".$toestemming."', '".$betaald."', '".$status."');";
?>
Waarom staat er eigenlijk na $status) een punt-komma?
Edit:
Gewijzigd op 01/01/1970 01:00:00 door Mark L
Anders staat er in het PHP5 boek een erg groote fout!!
maar waarom laat je het niet gewoon binnen 1 $var....
Code (php)
1
2
3
2
3
<?
$query ="INSERT INTO overzicht (naam, partner, leeftijd, toestemming, betaald, status) VALUES ('".$naam."','".$partner."','".$leeftijd."','".toestemming."','".$betaald."','".$status."')";
?>
$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
Code (php)
1
2
3
4
2
3
4
<?php
$query ="INSERT INTO overzicht (naam, partner, leeftijd, toestemming, betaald, status)";
$query ="VALUES ('$naam', '$partner', '$leeftijd', '$toestemming', '$betaald', '$status');";
?>
$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.
Erik:
om met een andere $var door te gaan moet je zoeizo .= gebruiken
maar waarom laat je het niet gewoon binnen 1 $var....
zo zou het moeten werken
maar waarom laat je het niet gewoon binnen 1 $var....
Code (php)
1
2
3
2
3
<?
$query ="INSERT INTO overzicht (naam, partner, leeftijd, toestemming, betaald, status) VALUES ('".$naam."','".$partner."','".$leeftijd."','".toestemming."','".$betaald."','".$status."'");
?>
$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
Ik vind het er een beetje wazig uitzien.
het beste is zoals Frank zegt.
Je query spreiden over meerdere regels, veel overzichtelijker.
SaTZzz:
Hij geeft de volgende melding..
Parse error: parse error, unexpected ')' in D:HTTP-ServerwwwSmalena BBQ+Spooktochtopgave.php on line 42
Erik:
om met een andere $var door te gaan moet je zoeizo .= gebruiken
maar waarom laat je het niet gewoon binnen 1 $var....
zo zou het moeten werken
maar waarom laat je het niet gewoon binnen 1 $var....
Code (php)
1
2
3
2
3
<?
$query ="INSERT INTO overzicht (naam, partner, leeftijd, toestemming, betaald, status) VALUES ('".$naam."','".$partner."','".$leeftijd."','".toestemming."','".$betaald."','".$status."'");
?>
$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)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
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."'
)
";
?>
$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.
succes verder
Bedankt, het werkt!!.. :D
gebruik die van Frank, stuk overzichtelijker, mocht er een fout zitten dan vind je die een stuk sneller
Frank:
Service van de zaak:
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.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
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."'
)
";
?>
$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.
Quote:
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.De datum heb ik gewoon zo gedaan, omdat het systeem hooguit een maand of 2 blijft draaien.. waarna hij de prullenbak in gaat..
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!
Code (php)
1
2
3
4
5
6
7
8
9
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."' ";
?>
$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