Error: SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of
Ik ben sinds een paar dagen aan het rommelen met databases, maar nu krijg ik plotseling de volgende
error:
"Error: SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens"
Wat houdt dit in en wat doe ik verkeerd?
Alvast bedankt voor jullie hulp!
Met vriendelijke groet,
Miquel
Quote:
<form method="post" name="toevoegform" id="toevoegform">
KlantID*: <input type="text" name="klantid" id="klantid" size="3" placeholder="" required></br>
Achternaam*: <input type="text" name="achternaam" id="achternaam" size="3" placeholder="" required></br>
Tussenvoegsel: <input type="text" name="tussenvoegsel" id="tussenvoegsel" size="3" placeholder=""></br>
Voornaam*: <input type="text" name="voornaam" id="voornaam" size="3" placeholder="" required></br>
Telefoon: <input type="text" name="telefoon" id="telefoon" size="3" placeholder=""></br>
Emailadres: <input type="text" name="emailadres" id="emailadres" size="3" placeholder=""></br>
<input type="submit" value="Go" name="submit"/>
</form>
KlantID*: <input type="text" name="klantid" id="klantid" size="3" placeholder="" required></br>
Achternaam*: <input type="text" name="achternaam" id="achternaam" size="3" placeholder="" required></br>
Tussenvoegsel: <input type="text" name="tussenvoegsel" id="tussenvoegsel" size="3" placeholder=""></br>
Voornaam*: <input type="text" name="voornaam" id="voornaam" size="3" placeholder="" required></br>
Telefoon: <input type="text" name="telefoon" id="telefoon" size="3" placeholder=""></br>
Emailadres: <input type="text" name="emailadres" id="emailadres" size="3" placeholder=""></br>
<input type="submit" value="Go" name="submit"/>
</form>
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
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
<?php
include "connectpdo.php";
try {
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
// set the PDO error mode to exception
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
// prepare sql and bind parameters
$stmt = $conn->prepare("INSERT INTO klantgegevens (KlantID, Achternaam, Tussenvoegsel, Voornaam, Telefoon, Emailadres)
VALUES (:KlantID, :Achternaam, :Tussenvoegsel, :Voornaam, :Telefoon, :Emailadres)");
$stmt->bindParam(':KlantID', $klantid);
$stmt->bindParam(':Tussenvoegsel', $tussenvoegsel);
$stmt->bindParam(':Voornaam', $voornaam);
$stmt->bindParam(':Telefoon', $telefoon);
$stmt->bindParam(':Emailadres', $emailadres);
// insert a row
$klantid = $_POST['klantid'];
$tussenvoegsel = $_POST['tussenvoegsel'];
$voornaam = $_POST['voornaam'];
$telefoon = $_POST['telefoon'];
$emailadres = $_POST['emailadres'];
$stmt->execute();
echo "Nieuwe reccord toegevoegd";
}
catch(PDOException $e)
{
echo "Error: " . $e->getMessage();
}
$conn = null;
?>
include "connectpdo.php";
try {
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
// set the PDO error mode to exception
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
// prepare sql and bind parameters
$stmt = $conn->prepare("INSERT INTO klantgegevens (KlantID, Achternaam, Tussenvoegsel, Voornaam, Telefoon, Emailadres)
VALUES (:KlantID, :Achternaam, :Tussenvoegsel, :Voornaam, :Telefoon, :Emailadres)");
$stmt->bindParam(':KlantID', $klantid);
$stmt->bindParam(':Tussenvoegsel', $tussenvoegsel);
$stmt->bindParam(':Voornaam', $voornaam);
$stmt->bindParam(':Telefoon', $telefoon);
$stmt->bindParam(':Emailadres', $emailadres);
// insert a row
$klantid = $_POST['klantid'];
$tussenvoegsel = $_POST['tussenvoegsel'];
$voornaam = $_POST['voornaam'];
$telefoon = $_POST['telefoon'];
$emailadres = $_POST['emailadres'];
$stmt->execute();
echo "Nieuwe reccord toegevoegd";
}
catch(PDOException $e)
{
echo "Error: " . $e->getMessage();
}
$conn = null;
?>
Dat klopt niet!
- Ariën - op 01/06/2016 23:57:18:
Op lijn 12 zie ik 6 tokens, en daaronder maar 5 bindParam()'s.
Dat klopt niet!
Dat klopt niet!
Hartelijk bedankt voor je snelle antwoord!
Ik ga het eens even testen.
EDIT:
Bedankt, dit heeft het probleem opgelost! Te snel omgegaan met CTRL+D..
Gewijzigd op 02/06/2016 00:01:06 door Miquel van Straten