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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了致命错误:未捕获PDOException:SQLSTATE [HY093]:参数号无效:无参数相关的知识,希望对你有一定的参考价值。

嗨,我是使用PDO的新手,我在包含10个以上字段的表格中遇到此问题

这里的表设计:

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

答案

bindparam(),根据手册http://php.net/manual/en/pdostatement.bindparam.php在使用1占位符时使用指数(来自?);或者使用带有命名占位符的冒号前缀语法。

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

您可能更喜欢使用?占位符并将变量数组作为execute()参数提供的详细语法。

以上是关于致命错误:未捕获PDOException:SQLSTATE [HY093]:参数号无效:无参数的主要内容,如果未能解决你的问题,请参考以下文章

致命错误:未捕获的异常“PDOException”,带有消息“SQLSTATE [42000]:语法错误或访问冲突 PHP 和 PDO

致命错误:未捕获的 PDOException:SQLSTATE[42000] 语法错误或访问冲突

致命错误:第 19 行的 C:\xampp\htdocs\register.php 中抛出未捕获的异常“PDOException”

PHP 致命错误:未捕获的 PDOException:SQLSTATE [42000]:语法错误或访问冲突:1064 您的 SQL 语法有错误

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

PDO:未捕获的 PDOException:找不到驱动程序