致命错误:未捕获的异常'SQLSTATE[HY093]: Invalid parameter


Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY093]: Invalid parameter

我有一个表(q)有30列,我写的代码正确,但我不知道哪里错了。

这里我检查错误:

   $formErrors = array();
         if(empty($fullname)){$formErrors[] =  '<div class="alert alert-danger" > هناك خطأ ما<strong> الاسم</strong></div>';  } 
             if(empty($email)){$formErrors[] =  '<div class="alert alert-danger" >هناك خطأ ما <strong>الايميل</strong></div>';  } 
          //loop errors 
            foreach($formErrors as $error){redirecthome("$error");}
            // check if not errors procces update
            if(empty($formErrors)){

这里错误的代码SQL ..

   $stmt = $con->prepare("INSERT INTO `u926512753_u`.`q` (`username`, `email`, `skill`, `info`, `q1`, `q2`, `q3`, `q4`, `q5`, `q6`, `q7`, `q8`, `q9`, `q10`, `q11`, `q12`, `q13`, `q14`, `q15`, `q16`, `q17`, `q18`, `q19`, `q20`, `q21`, `q22`, `q23`, `q24`, `q25`, `q26`) VALUES (:username, :email, :skill, :info, :q1, :q2, :q3, :q4, :q5, :q6, :q7, :q8, :q9, :q10, :q11, :q12, :q13, :q14, :q15, :q16, :q17, :q18, :q19, :q20, :q21, :q22, :q23, :q24, :q25, ':q26'); ");



                $stmt->execute(array(':username'  => $fullname, ':email'  => $email, ':skill'  => $skill, ':info'  => $info, ':q1'  => $q1, ':q2'  => $q2, ':q3'  => $q3, ':q4'  => $q4, ':q5'  => $q5, ':q6'  => $q6, ':q7'  => $q7, ':q8'  => $q8, ':q9'  => $q9, ':q10'  => $q10, ':q11'  => $q11, ':q12'  => $q12, ':q13'  => $q13, ':q14'  => $q14, ':q15'  => $q15, ':q16'  => $q16, ':q17'  => $q17, ':q18'  => $q18, ':q19'  => $q19, ':q20'  => $q20, ':q21'  => $q21, ':q22'  => $q22, ':q23'  => $q23, ':q24'  => $q24, ':q25'  => $q25, ':q26'  => $q26  ));

就像上面评论说的那样。由于在VALUES部分中放置了引号,因此存在语法错误。

:q25, ':q26'); ");应变为:q25, :q26'); ");