user4261581
user4261581

Reputation:

SQLSTATE[HY093]: Invalid parameter number: but the number is correct?

I know this question has been answered many times but I don't find any solution :

PDOStatement::execute(): SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens

And my code is here :

$request='INSERT INTO bo_netlinking (
                  id_website, id_user,netlink_source, netlink_root, netlink_type, netlink_langue, netlink_pr, netlink_cible, netlink_filling_date, netlink_publication, netlink_publication_date, netlink_url, netlink_keyword, netlink_notes) 
        VALUES (:id_website, :id_user,:netlink_source, :netlink_root, :netlink_type, :netlink_langue, :netlink_pr, :netlink_cible, :netlink_filling_date, :netlink_publication, netlink_publication_date, :netlink_url, :netlink_keyword, :netlink_notes)';
    $request = $bdd->prepare($request); 

    $request->bindParam(':id_website', $id_website, PDO::PARAM_INT);
    $request->bindParam(':id_user', $id_user, PDO::PARAM_INT);
    $request->bindParam(':netlink_source', $netlink_source, PDO::PARAM_STR);
    $request->bindParam(':netlink_root', $netlink_root, PDO::PARAM_STR);
    $request->bindParam(':netlink_type', $netlink_type, PDO::PARAM_STR);
    $request->bindParam(':netlink_langue', $netlink_langue, PDO::PARAM_STR);
    $request->bindParam(':netlink_pr', $netlink_pr, PDO::PARAM_STR);
    $request->bindParam(':netlink_cible', $netlink_cible, PDO::PARAM_STR);
    $request->bindParam(':netlink_filling_date', $netlink_filling_date, PDO::PARAM_STR);
    $request->bindParam(':netlink_publication', $netlink_publication, PDO::PARAM_STR);
    $request->bindParam(':netlink_publication_date', $netlink_publication_date, PDO::PARAM_STR);
    $request->bindParam(':netlink_url', $netlink_url, PDO::PARAM_STR);
    $request->bindParam(':netlink_keyword', $netlink_keyword, PDO::PARAM_STR);
    $request->bindParam(':netlink_notes', $netlink_notes, PDO::PARAM_STR);

    $request->execute() or die(print_r($request->errorInfo(), true));
    $netlinkNewId = $bdd->lastInsertId();

    return $netlinkNewId;

If someone can help, thanks !!!

Upvotes: 0

Views: 86

Answers (1)

vaso123
vaso123

Reputation: 12391

You have a missing : at netlink_publication_date in your $request (query).

Upvotes: 1

Related Questions