消息“ SQLSTATE [42S22]”的“ PDOException”:找不到列:1054“字段列表”中的未知列“材料代码”

时间:2019-10-21 06:00:15

标签: php mysql pdo

未捕获的异常PDOException和消息SQLSTATE[42S22]: Column not found: 1054 Unknown column 'Material Code' in 'field list'

我收到列名Material Code的错误。列名和列值是动态的,但根据表的列名而定。

我正在打印动态查询并将其运行到工作台中,它正在正常工作,没有任何错误。但是在PDO执行过程中会引发错误。

我的表格结构

tp_ref  int(11) YES         
type_section    varchar(50) YES         
Part Name   varchar(20) YES         
Material    varchar(20) YES         
Supplier    varchar(20) YES         
Material Code   varchar(10) YES         
Supplier Ref    varchar(20) YES         
Placement   varchar(20) YES         
Quantity    varchar(10) YES         
Color Type  varchar(10) YES         
HOH- 4661   varchar(50) YES         
(Dropped )Mariner Navy  varchar(50) YES         
BOM Comment varchar(500)    YES         
Price OVR   varchar(20) YES         
Price   varchar(10) YES         
created_on  timestamp   NO      CURRENT_TIMESTAMP   
id  int(11) NO  PRI     auto_increment

我手动尝试过,并且工作正常。

动态查询

insert into `tp_cath_sections`(`tp_ref`,`type_section`,`Part Name`,`Material`,`Supplier`,`Material Code`,`Supplier Ref`,`Placement`,`Quantity`,`Color Type`,`HOH- 4661`,`(Dropped )Mariner Navy`,`BOM Comment`,`Price OVR`,`Price`) values(240,'Fabric','Rayon Challis','','1031869 100%','Asprey Inc','1031869','DEV-0932','','0.00','','','','','$0.00')

1 个答案:

答案 0 :(得分:-2)

我检查了您的通过值发送的字段,并且240没有放在单引号中,也许这就是为什么它不将表名与其适当的值匹配的原因。检查一次。否则,您的表中不存在“材料代码”列,请尝试将其删除并再次创建该列。解决它的其他方法尝试从查询中删除“材料代码”列并运行它,如果它起作用,则列本身存在问题。