SQL:无效的参数号:未定义参数
Posted
技术标签:
【中文标题】SQL:无效的参数号:未定义参数【英文标题】:SQL: Invalid parameter number: parameter was not defined 【发布时间】:2018-08-02 11:05:59 【问题描述】:你们中有人看到这里的错误吗?我现在正在寻找它很长一段时间。我确实计算了 19 个参数和 19 个值,并且列确实接受空值:
Invalid parameter number: parameter was not defined
Error HY093 executing statement:
INSERT INTO 'modx_slides' ('MIGX_formname', 'slider', 'slidelink', 'poster-
portrait-src', 'poster-landscape-src', 'portrait-src', 'portrait-hres-src',
'portrait-smup-hres-src', 'landscape-src', 'landscape-hres-src', 'contenttype',
'headline', 'vartext', 'image-portrait', 'image-landscape', 'resource_id',
'pos', 'deleted', 'published') VALUES (‘videoItemTpl’, 1, ‘https://test.de',
‘’, ‘’, ‘’, ‘’, ‘’, ‘image.jpg’, ‘’, 0, ‘Headlineexample’, ‘Sublineexample’,
‘’, ‘’, 75, 0, 0, 1)
Array
(
[0] => HY093
[1] =>
[2] =>
)
【问题讨论】:
您是否从某处复制粘贴的值? 值是forminputs,是定时填写的,为什么? 只是怀疑逗号括起来可能是问题所在。尝试从代码中删除它们并重新编写它们 代码作为插件的一部分可以正常工作。这些值不包含逗号,我自己输入了所有用于测试=/ 我会从字段名称中删除单引号(或用反引号替换它们)并将值的印刷引号更改为常规引号。 【参考方案1】:刚刚解决了问题。 PDO 不接受字段名中的常规破折号,在将常规破折号切换为低破折号后一切正常。也许使用双引号将允许使用常规破折号,但由于它是 cms (MODx) 的核心类,我无法更改它。
【讨论】:
以上是关于SQL:无效的参数号:未定义参数的主要内容,如果未能解决你的问题,请参考以下文章