2016-03-16 92 views
0

我'嘗試在我的兩個表中插入一次非法參數編號:綁定變量的數量不匹配的令牌數量:

,但我不斷收到此錯誤

非法參數編號:綁定變量的數量不匹配的令牌數量:

$dbh->beginTransaction(); 

try{ 
    if(sizeof($return['error'])==0){ 
     $sql = "INSERT INTO circle_call_prefixes (circle, prefix) 
        VALUES (?,?)"; 
     $q = $dbh->prepare($sql); 
     $q ->execute(array('123', '123')); 
     $Last_ID = $dbh->lastInsertId(); 
     $sql_table2 = "INSERT INTO circle_call_destinations 
      (autoNo,destination, source_circle) VALUES (?,?,?)"; 
     $q = $dbh->prepare($sql); 
     $q -> execute(array($Last_ID, '123', '123')); 

     $dbh->commit(); 
    } 

什麼是可能出現的問題?謝謝

+0

你能檢查$ Last_ID是否讓你的價值? – fsn

+0

我檢查一下。 。值爲零(0) – uno

+0

嘗試用任何int 1代替$ Last_id,例如測試 – fsn

回答

0

您嘗試在兩種情況下都運行$ sql,但應該在第二種情況下運行$ sql_table2。此代碼應該可以工作:

$dbh->beginTransaction(); 

try{ 
    if(sizeof($return['error'])==0){ 
     $sql = "INSERT INTO circle_call_prefixes (circle, prefix) 
        VALUES (?,?)"; 
     $q = $dbh->prepare($sql); 
     $q ->execute(array('123', '123')); 
     $Last_ID = $dbh->lastInsertId(); 
     $sql_table2 = "INSERT INTO circle_call_destinations 
      (autoNo,destination, source_circle) VALUES (?,?,?)"; 
     $q = $dbh->prepare($sql_table2); 
     $q -> execute(array($Last_ID, '123', '123')); 

     $dbh->commit(); 
    } 
+0

謝謝@alexander – uno

相關問題