Column count doesn't match value count at row 1
Quote:
`prospect_nr` int(11) NOT NULL auto_increment,
en dan met handje het prospect-nummer in de database proberen weg te schrijven, gaat natuurlijk niet lukken. Met auto_increment laat je de database zélf een nieuw nummer invullen, het is dan overbodig (en onmogelijk) om zelf nogmaals een nummer in te vullen.
Oplossing: Neem deze kolom niet op in de INSERT-query en verwijder uiteraard ook de value die je probeert in deze kolom te zetten.
Hoe ziet de query die je nu gebruikt eruit?
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
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
<?php
require("connection.php");
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
$values = array ();
foreach ($_POST as $key => $value)
{
$values[$key] = mysql_real_escape_string ($value);
}
$sql_query = "INSERT INTO prospect (
naam,
voornaam,
titel,
(............................)
termsofuse,
wachtwoord
) VALUES (
'".$values['naam']."',
'".$values['voornaam']."'
'".$values['titel']."'
(...........................)
'".$values['termsofuse']."'
'".$values['wachtwoord']."'
);";
$result = mysql_query($sql_query); // hier GEEN foutafhandeling! Zie volgende regel:
if(!$result && mysql_errno() == 1062)
{
$text = $values['naam'].' is al geregistreerd. <A HREF="' . $_SERVER['PHP_SELF'] . '">Opnieuw registeren</A>';
echo $text;
die;
}
elseif(!$result)
{
die(mysql_error()); // kan nog beter, die() verdient geen schoonheidsprijs
}
else
{
$text= "$values[naam] is toegevoegd";
echo $text;
die();
}
}
else
{
?>
require("connection.php");
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
$values = array ();
foreach ($_POST as $key => $value)
{
$values[$key] = mysql_real_escape_string ($value);
}
$sql_query = "INSERT INTO prospect (
naam,
voornaam,
titel,
(............................)
termsofuse,
wachtwoord
) VALUES (
'".$values['naam']."',
'".$values['voornaam']."'
'".$values['titel']."'
(...........................)
'".$values['termsofuse']."'
'".$values['wachtwoord']."'
);";
$result = mysql_query($sql_query); // hier GEEN foutafhandeling! Zie volgende regel:
if(!$result && mysql_errno() == 1062)
{
$text = $values['naam'].' is al geregistreerd. <A HREF="' . $_SERVER['PHP_SELF'] . '">Opnieuw registeren</A>';
echo $text;
die;
}
elseif(!$result)
{
die(mysql_error()); // kan nog beter, die() verdient geen schoonheidsprijs
}
else
{
$text= "$values[naam] is toegevoegd";
echo $text;
die();
}
}
else
{
?>
<b>Registreren</b><br>
<FORM NAME="toevoegen" METHOD="post" ACTION="">
<table width="90%" border="0">
<tr>
<td width="17%">First name</td>
<td colspan="3"><INPUT TYPE="text" NAME="voornaam"
(...................................)
</tr>
<tr>
<td> </td>
<td colspan="3"><INPUT TYPE="submit" VALUE="toevoegen"></td>
</tr>
</table>
</FORM>
Gewijzigd op 01/01/1970 01:00:00 door frank
Blanche schreef op 20.10.2006 14:14:
Waarom voor de 100ste keer de volledige code??? Graag even alle overbodige zooi weghalen, mijn scroll-muisje wordt een beetje moe van al dat scrollen...Hoe ziet de query die je nu gebruikt eruit?
Waar zijn de komma's gebleven om de verschillende waardes van elkaar te scheiden? Er missen er zeker een stuk of 26.
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
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
<?php
require("connection.php");
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
$values = array ();
foreach ($_POST as $key => $value)
{
$values[$key] = mysql_real_escape_string ($value);
}
$sql_query = "INSERT INTO prospect (
naam,
voornaam,
titel,
adres,
(.......................................)
termsofuse,
wachtwoord
) VALUES (
'".$values['naam']."',
'".$values['voornaam']."',
(........................................................)
'".$values['termsofuse']."',
'".$values['wachtwoord']."',
);";
$result = mysql_query($sql_query); // hier GEEN foutafhandeling! Zie volgende regel:
if(!$result && mysql_errno() == 1062)
{
$text = $values['naam'].' is al geregistreerd. <A HREF="' . $_SERVER['PHP_SELF'] . '">Opnieuw registeren</A>';
echo $text;
die;
}
elseif(!$result)
{
die(mysql_error()); // kan nog beter, die() verdient geen schoonheidsprijs
}
else
{
$text= "$values[naam] is toegevoegd";
echo $text;
die();
}
}
else
{
?>
require("connection.php");
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
$values = array ();
foreach ($_POST as $key => $value)
{
$values[$key] = mysql_real_escape_string ($value);
}
$sql_query = "INSERT INTO prospect (
naam,
voornaam,
titel,
adres,
(.......................................)
termsofuse,
wachtwoord
) VALUES (
'".$values['naam']."',
'".$values['voornaam']."',
(........................................................)
'".$values['termsofuse']."',
'".$values['wachtwoord']."',
);";
$result = mysql_query($sql_query); // hier GEEN foutafhandeling! Zie volgende regel:
if(!$result && mysql_errno() == 1062)
{
$text = $values['naam'].' is al geregistreerd. <A HREF="' . $_SERVER['PHP_SELF'] . '">Opnieuw registeren</A>';
echo $text;
die;
}
elseif(!$result)
{
die(mysql_error()); // kan nog beter, die() verdient geen schoonheidsprijs
}
else
{
$text= "$values[naam] is toegevoegd";
echo $text;
die();
}
}
else
{
?>
ok dat was iig één fout. nu geeft ie de foutmelding:
You have an error in your SQL syntax near ')' at line 57
terwijl
regel 57 is (in mn dreamweaver) daar komen geen includes bij oid.
Gewijzigd op 01/01/1970 01:00:00 door frank
Tja, maar waarschijnlijk wordt de fout veroorzaakt door iets dat in de buurt van regel 57 staat. Met alleen die regel zonder verdere context is je vraag niet te beantwoorden...
'".$values['wachtwoord']."',
);";
Wat doet die komma achter het wachtwoord? Komma's gebruik je om waardes van elkaar te scheiden. Wanneer er geen waardes meer zijn, valt er ook niets te scheiden. Na de laaste VALUE kan er dus nooit meer een komma komen, het is tenslotte de laatste. En wat komt er na de laaste? Precies, helemaal niets!
Oplossing: Komma met een grote boog richting prullenbak gooien.
MAAR HET WERKT!!! ECHT BLIJHEID nu :P
BEDANKT IEDEREEN TOT ZO VER!!!