SQLSTATE[HY093]: Invalid parameter number: number of bound variables ne correspond pas à un nombre de jetons
Mon code génère l'erreur:
SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens
Mais j'ai compté, il ne manque aucune des deux-points et tous les paramètres de liaison sont là... Ce qui est à l'origine de cette erreur?
De référence le Code ci-Dessous:
try{
$pdo->beginTransaction();
$insert1 = $pdo->prepare("INSERT INTO spo (spo_prefix,datecreated,destinationID,vendorID,grade,flute,qty,wdat,ldat,scoreline,due,remark,isowarrant,area_m,area_ft,supplyIDs,qty_waste,expectedPrice) VALUES (:spoprefix,:nowdate,:location,:selvid,:cgrade,:cflute,:vendorqty,:wdat,:ldat,:scoreline,:duedate,:vendorremark,:iso,:squarem,:squareft,:siid,:wasteqty,:thisprice)");
$resultB = $pdo->prepare("SELECT vendorname FROM vendorDefinition WHERE id=:svid LIMIT 1");
$resultC = $pdo->prepare("SELECT destinationName FROM shipDestination WHERE id=:locationselect LIMIT 1");
$insert1->execute(array(":spoprefix"=>$_POST['SPOprefix'],
":nowdate"=>$nowdate,
":location"=>$_POST['locationselect'],
":selvid"=>$_POST['selectedVID'],
":cgrade"=>$_POST['const_grade'],
":cflute"=>$_POST['const_flute'],
":vendorqty"=>$_POST['vendorqty'],
":wdat"=>$wdat,
":ldat"=>$ldat,
":scoreline"=>$scoreline,
":duedate"=>$duedate,
":vendorremark"=>$_POST['vendorremark'],
":iso"=>"",
":squarem"=>$_POST['squaremeter'],
":squareft"=>$_POST['squarefeet'],
":siid",$_POST['const_siid'],
":wasteqty"=>$_POST['wasteqty'],
":thisprice"=>$_POST['thisprice']));
$resultB->execute(array(":svid"=>$_POST['selectedVID']));
$resultC->execute(array(":locationselect"=>$_POST['locationselect']));
$pdo->commit();
}catch(PDOException $e){
$pdo->rollBack();
die("<h1>ERROR" . $e);
}
- Envelopper d'un try/catch autour de chaque individu execute() de sorte que vous pouvez au moins savoir QUI de vos 3 requêtes en est la cause.
- Je l'ai testé, c'est le $insert1
Vous devez vous connecter pour publier un commentaire.
Problème est ici: