SQLSTATE [HY093]:无效参数号:绑定变量的数目不匹配的令牌

SQLSTATE [HY093]:无效参数号:绑定变量的数目不匹配的令牌

问题描述:

的数我的代码产生错误:SQLSTATE [HY093]:无效参数号:绑定变量的数目不匹配的令牌

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

但我计数,没有缺失冒号和所有的结合参数那里...是什么造成这个错误?

参考下面的代码:

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); 
} 
+0

环绕周围每一个人在try/catch执行(),这样你至少可以找出哪些你3所查询的是造成这一点。 – 2012-07-15 05:46:16

+0

我测试过了,它的$ insert1 – 40Plot 2012-07-15 05:48:52

问题是在这里:

":siid",$_POST['const_siid'], 
     ^--- should be "=>", not "," 
+0

没有看到那个..谢谢 – 40Plot 2012-07-15 06:17:41