Error: SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Miquel van Straten

Miquel van Straten

01/06/2016 23:51:03
Quote Anchor link
Geachte forum gebruikers,

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>

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
<?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;

?>
 
PHP hulp

PHP hulp

08/12/2021 11:24:56
 
- Ariën -
Beheerder

- Ariën -

01/06/2016 23:57:18
Quote Anchor link
Op lijn 12 zie ik 6 tokens, en daaronder maar 5 bindParam()'s.

Dat klopt niet!
 
Miquel van Straten

Miquel van Straten

01/06/2016 23:58:45
Quote Anchor link
- 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!


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
 



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.