栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

警告:PDOStatement :: execute():SQLSTATE [HY093]:无效的参数号:未在…文件文本中定义参数

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

警告:PDOStatement :: execute():SQLSTATE [HY093]:无效的参数号:未在…文件文本中定义参数

如果使用位置参数,则传递给参数的数组

execute()
必须为序数数组。同样,如果使用命名参数,则数组必须是关联数组。

这是确认行为的测试:

$stmt = $db->prepare("SELECT ?, ? ,?");$params = array( 'a', 'b', 'c' );// OKif ($stmt->execute($params)) {  print_r($stmt->fetchAll());}$params = array( 'A'=>'abc', 'B'=>'def', 'C'=>'ghi' );// ERROR!if ($stmt->execute($params)) {  print_r($stmt->fetchAll());}$stmt = $db->prepare("SELECT :A, :B, :C");$params = array( 'a', 'b', 'c' );// ERROR!if ($stmt->execute($params)) {  print_r($stmt->fetchAll());}$params = array( 'A'=>'abc', 'B'=>'def', 'C'=>'ghi' );// OKif ($stmt->execute($params)) {  print_r($stmt->fetchAll());}

请注意,在当前版本的PHP中,关联数组键 不必

:
@prodigitalson注释为前缀。该
:
阵列键需要在旧版本的PHP中使用前缀。

还值得一提的是,当我尝试在单个查询中混合使用位置参数和命名参数时,遇到了错误和不可预测的行为。您可以在应用程序的 不同
查询中使用这两种样式,但可以为给定查询选择一种样式或另一种样式。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/442612.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号