Column count doesn't match value count at row 1
Ik gebruik het gastenboek wat ik hier heb gevonden.
http://www.phphulp.nl/php/tutorial/data-verwerking/gastenboek/689/
Heb hier en daar wat tweaks gemaakt, maar ik krijg de datum invoer niet goed.
Zet ik er haakjes achter, krijg ik een fout melding, gebruik ik de orginele waarde, dan doet hij helemaal niets, en krijg ik zelfs geen foutmelding.
Wie weet wat ik fout doe?, en kan mij de juiste code weergeven.
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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
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
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
<?php
/**
* @author Ben
* @copyright 2010
*/
// Schrijf.php
// Database connectie maken met database
include('config.php');
// Connectie maken met de ubb pagina voor email check
include('ubb.php');
// Als er gepost is checken of er niks vergeten is
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
$datum = date("d.m.Y H:i");
// Als de naam niet is ingevult
if(!isset($_POST['naam']))
{
// Error
echo 'U bent vergeten uw naam in te vullen';
}
// Anders
else
{
// Als de email niet is ingevult
if(!isset($_POST['email']))
{
echo 'U bent vergeten uw email in te vullen';
}
// Anders
else
{
// Als email niet klopt
if(check_mail($_POST['email']))
{
echo 'U heeft geen geldige email ingevult';
}
// Anders
else
{
// Als bericht is ingeveult
if(!isset($_POST['bericht']))
{
echo 'U heeft geen bericht ingevult';
}
// Anders
else
{
// De mysql_query uitvoeren om alles in de db te zetten
$sql = mysql_query("INSERT INTO
gastenboek
(
naam,
email,
bericht,
datum
)
VALUES
(
'".mysql_real_escape_string($_POST['naam'])."'
'".mysql_real_escape_string($_POST['email'])."'
'".mysql_real_escape_string($_POST['bericht'])."'
'".mysql_real_escape_string($datum)."'
)
");
// Als de query is gelukt
if($sql)
{
echo 'Uw bericht is geplaatst<br>';
echo 'Klik <a href="Lees.php"> hier</a> om naar uw bericht te gaan';
}
// Anders
else
{
// MySql Error opvangen
echo 'Er is een fout opgetreden bij de query: <br />';
echo mysql_error();
}
}
}
}
}
}
// Anders
else
{
// Het formulier
echo '<form action="" method="post">';
echo 'Naam: <input type="text" style="with:200px" name="naam"><br>';
echo 'E-mail: <input type="text" style="with:200px" name="email"><br>';
echo 'Bericht:<br>';
echo '<textarea name="bericht" style="height: 162px; width: 361px"></textarea><br>';
echo '<input type="submit" value="Verzenden">';
echo '</form>';
}
?>
/**
* @author Ben
* @copyright 2010
*/
// Schrijf.php
// Database connectie maken met database
include('config.php');
// Connectie maken met de ubb pagina voor email check
include('ubb.php');
// Als er gepost is checken of er niks vergeten is
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
$datum = date("d.m.Y H:i");
// Als de naam niet is ingevult
if(!isset($_POST['naam']))
{
// Error
echo 'U bent vergeten uw naam in te vullen';
}
// Anders
else
{
// Als de email niet is ingevult
if(!isset($_POST['email']))
{
echo 'U bent vergeten uw email in te vullen';
}
// Anders
else
{
// Als email niet klopt
if(check_mail($_POST['email']))
{
echo 'U heeft geen geldige email ingevult';
}
// Anders
else
{
// Als bericht is ingeveult
if(!isset($_POST['bericht']))
{
echo 'U heeft geen bericht ingevult';
}
// Anders
else
{
// De mysql_query uitvoeren om alles in de db te zetten
$sql = mysql_query("INSERT INTO
gastenboek
(
naam,
email,
bericht,
datum
)
VALUES
(
'".mysql_real_escape_string($_POST['naam'])."'
'".mysql_real_escape_string($_POST['email'])."'
'".mysql_real_escape_string($_POST['bericht'])."'
'".mysql_real_escape_string($datum)."'
)
");
// Als de query is gelukt
if($sql)
{
echo 'Uw bericht is geplaatst<br>';
echo 'Klik <a href="Lees.php"> hier</a> om naar uw bericht te gaan';
}
// Anders
else
{
// MySql Error opvangen
echo 'Er is een fout opgetreden bij de query: <br />';
echo mysql_error();
}
}
}
}
}
}
// Anders
else
{
// Het formulier
echo '<form action="" method="post">';
echo 'Naam: <input type="text" style="with:200px" name="naam"><br>';
echo 'E-mail: <input type="text" style="with:200px" name="email"><br>';
echo 'Bericht:<br>';
echo '<textarea name="bericht" style="height: 162px; width: 361px"></textarea><br>';
echo '<input type="submit" value="Verzenden">';
echo '</form>';
}
?>
<html><body style="background-color: #FFFF00"></html>
Toevoeging op 21/09/2010 14:11:25:
Verder missen er komma's in de query.
$datum = date("d.m.Y H:i");
Dit is echter tekst en géén datum.
Als jij een DATETIME gebruikt dan gaat dat niet lukken.
Gebruik dan gewoon NOW() in de query.
Er is een fout opgetreden bij de query:
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 ' at line 8
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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
$sql = "INSERT INTO gastenboek
(
naam,
email,
bericht,
datum
)
VALUES
(
'".mysql_real_escape_string($_POST['naam'])."',
'".mysql_real_escape_string($_POST['email'])."',
'".mysql_real_escape_string($_POST['bericht'])."',
NOW()
)
";
$res = mysql_query($sql);
if(!$res)
{
echo 'Error: '. mysql_error();
}
// rest
?>
$sql = "INSERT INTO gastenboek
(
naam,
email,
bericht,
datum
)
VALUES
(
'".mysql_real_escape_string($_POST['naam'])."',
'".mysql_real_escape_string($_POST['email'])."',
'".mysql_real_escape_string($_POST['bericht'])."',
NOW()
)
";
$res = mysql_query($sql);
if(!$res)
{
echo 'Error: '. mysql_error();
}
// rest
?>
Maak gebruik van bijvoorbeeld de volgende functies
- empty
- strlen
- trim
- ctype_*
- preg_match
Gewijzigd op 21/09/2010 15:11:16 door Niels K
Nu moet ik uitvogelen waarom ik niets te zien krijg, allicht is de code in de lees.php pagina fout.
Als je suggesties hebt hoor ik ze graag.
Dank je
Toevoeging op 21/09/2010 15:35:47:
@Niels
die staan als functies in de ubb pagina, en werkt goed naar mijn verlangen.
Toevoeging op 21/09/2010 15:54:28:
Ok heb nu alles werken, bleek de SQL te zijn die verkeerd stond.
Bedankt allemaal