致命错误:未捕获的PDOException:SQLSTATE [HY093]:无效的参数编号:无参数

时间:2018-09-06 10:31:34

标签: php

嗨,我是PDO的新手,在包含超过10个字段的表中有1个遇到了这个问题

这里的桌子设计:

id  Primary     int(11)             No  None        AUTO_INCREMENT
2   sid     varchar(15)     latin1_swedish_ci       No  None        
3   courseCode  varchar(15) latin1_swedish_ci       No  None        
4   isScholar   varchar(15) latin1_swedish_ci       No  Non-Scholar         
5   course  varchar(25)     latin1_swedish_ci       No  None        
6   level   varchar(15)     latin1_swedish_ci       No  None        
7   fname   varchar(25)     latin1_swedish_ci       No  None        
8   lname   varchar(25)     latin1_swedish_ci       No  None        
9   mi      varchar(5)      latin1_swedish_ci       No  None        
10  age     int(3)                                  No  None        
11  gender  varchar(15)     latin1_swedish_ci       No  None        
12  bday    date                                    No  None        
13  cNumber varchar(15)      atin1_swedish_ci       No  None        
14  email   varchar(100)    latin1_swedish_ci       No  None        
15  address varchar(100)    latin1_swedish_ci       No  None        
16  regDate datetime                                No  CURRENT_TIMESTAMP       
17  regBy   varchar(50)     latin1_swedish_ci       No  None        
18  updatedDate     datetime                        Yes     NULL        
19  updatedBy   varchar(50) latin1_swedish_ci       Yes     NULL        
20  status  varchar(15)     latin1_swedish_ci       No  ACTIVE      
21  userType    varchar(15) latin1_swedish_ci       No  STUDE

这是我的代码,用于通过PHP文件将数据插入表:

this is my code

1 个答案:

答案 0 :(得分:1)

1,根据手册http://php.net/manual/en/pdostatement.bindparam.php,在使用?占位符时使用索引(来自?);或将冒号前缀的语法与命名的占位符一起使用。

您还需要确保将每个占位符与值/变量绑定。

您可能更喜欢使用execute()占位符并传递变量数组作为query的参数来简化语法。