您收到此错误:SQLSTATE [HY093]:参数号无效:未定义参数

是因为$values&中的元素数量$matches不相同或$matches包含多于1个元素。

如果$matches包含多于1个元素,则插入将失败,因为查询中只引用了1个列名(hash)

如果$values&$matches不包含相同数量的元素,那么插入也将失败,因为查询期望x参数但是它正在接收y数据$matches。

我相信你还需要确保列散列上还有一个唯一的索引。

试试这里的代码:<?php /*** mysql hostname ***/$hostname = 'localhost';/*** mysql username ***/$username = 'root';/*** mysql password ***/$password = '';try {

$dbh = new PDO("mysql:host=$hostname;dbname=test", $username, $password);

/*** echo a message saying we have connected ***/

echo 'Connected to database';

}catch(PDOException $e)

{

echo $e->getMessage();

}$matches = array('1');$count = count($matches);for($i = 0; $i

$values[] = '?';}// INSERT INTO DATABASE$sql = "INSERT INTO hashes (hash) VALUES (" . implode(', ', $values) . ") ON DUPLICATE KEY UPDATE hash='hash'";$stmt = $dbh->prepare($sql);$data = $stmt->execute($matches);//Error reporting if something went wrong...var_dump($dbh->errorInfo());?>

您需要稍微调整一下。

我使用的表结构在这里:CREATE TABLE IF NOT EXISTS `hashes` (

`hashid` int(11) NOT NULL AUTO_INCREMENT,

`hash` varchar(250) NOT NULL,

PRIMARY KEY (`hashid`),

UNIQUE KEY `hash1` (`hash`)) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

代码在我的XAMPP服务器上运行,该服务器使用PHP 5.3.8和MySQL 5.5.16。

我希望这有帮助。

mysql hy093_SQLSTATE [HY093]:参数号无效:未定义参数相关推荐

  1. 高德地图和百度地图接口封装遇到的问题(三):参数集中插入参数以及引用未定义参数

    1.向参数集中插入新参数: 由于要将高德地图和百度地图提供的方法封装成一个统一的方法,而对于某些功能来说可能传进来的参数个数不一样,比如下面的绘制折线功能: //高德地图// 折线的节点坐标数组,每个 ...

  2. mysql hy093_请问SQLSTATE [HY093]:参数号无效:未定义参数

    您收到此错误:SQLSTATE [HY093]:参数号无效:未定义参数 是因为$values&中的元素数量$matches不相同或$matches包含多于1个元素. 如果$matches包含多 ...

  3. php mysql函数未定义,PHP MySQLi未定义的方法错误

    我使用MySQLi创建了一些基本的OO脚本,并且当我使用stmt_init(),prepare()或query()...时发生未定义的方法错误...并且connect_errno()出现错误.我知道在 ...

  4. php代码expl,php – 参数号无效:参数未定义Explination

    我使用一个简单的测试表来尝试调试此错误. 我试着写一个脚本,用户可以更新他们的用户信息,我搜索过但没有找到任何具体的帮助我. 我的测试代码如下: PHP if(isset($_POST['submit ...

  5. 未定义标识符“L“,sprintfw/swprintf用法,TEXT宏

    文章目录 起因 经过 结果 收获 后记 起因 用Windows api写程序的时候,使用CreateWindow函数,用vs跑会报错,如上. 通过控制变量来排查错误,明白两点: 控制变量应该先从每个参 ...

  6. matlab没有int函数,matlab 未定义与 'char' 类型的输入参数相对应的函数 'int'。

    最后你那zd句plot(int(k),double(s));里的int(k);不对.你如果想以k为横坐标,直接把int去掉,如回果非想要变成整数可以用floor(k);注:fix:向零取整 floor ...

  7. matlab中未定义与 ‘cell‘ 类型的输入参数相对应的运算符 ‘+‘ 的解决方案

    在函数文件中写入以下内容 function re=fun(a,b,varargin) if nargin == 2re=a+b; elseif nargin==3c=varargin(1);re = ...

  8. matlab 手工实现normalize函数 未定义与 ‘double‘ 类型的输入参数相对应的函数 ‘normalize‘

    matlab自带的normalize函数有时候总抽风不好使: 未定义与 'double' 类型的输入参数相对应的函数 'normalize' 不过考虑到这个东西本身也不难,无非就是这么个公式:Xi−μ ...

  9. vc6.0 mfc一些函数明明调用语法正确,但是提示函数或者函数参数未定义等问题解决方法。

    使用vc6.0 mfc 编写程序时一些函数在正常声明.调用的情况下提示函数参数未定义等问题时 如调用EnumDisplayMonitors()会提示下面问题 运行后,出现以下问题: Compiling ...

最新文章

  1. String与NSString关系
  2. 成功解决object at 0x000002463192BAC8
  3. 查看Linux声卡基本信息[转载]
  4. Gingko——百度内网用于数据分发的P2P传输工具
  5. 富士通01018z平板电脑评测_档案扫描好帮手,富士通ix1500无线双面高速扫描仪评测...
  6. 10个奇葩的代码注释,笑出声!
  7. js根据数组中对象的多个属性值进行排序
  8. win7找回开机密码_电脑密码忘记了?教你四步轻松找回电脑开机密码
  9. php正则表达式 重复字符,php正则表达式匹配可能的重音字符
  10. 90-40-010-源码-CUBE-引擎为MR写入Druid的构建
  11. tensorrt安装_利用TensorRT对深度学习进行加速
  12. HDU 3065 病毒侵袭持续中(AC自动机 模板)题解
  13. 专业营销手段汇编及研究
  14. PPT进行图片的背景去除以及填充新背景,保存图片为PDF
  15. 短篇硬科幻小说《勾股:2.013》
  16. 《Machine Learning in Action》—— 浅谈线性回归的那些事
  17. python是面向对象开发_Python开发之路-面向对象
  18. android 苹果电脑底部图标滚动效果,JS实现仿苹果底部任务栏菜单效果代码
  19. win10清理c盘_系统C盘磁盘空间不够用的解决办法
  20. go-micro 在linux下安装出现service auth not found

热门文章

  1. 【Android -- 性能优化】耗电优化
  2. VUE实战-知乎日报(2)
  3. NPM型的生态就是热带雨林型的生态——WebCell前端框架作者水歌访谈实录
  4. 使用 ES 实现疫情地图或者外卖点餐功能(含代码及数据)
  5. 基于javaweb的驾校预约管理系统(java+ssm+html+layui+bootstrap+mysql)
  6. php用户预约医师方法,基于php医院网预约挂号系统.docx
  7. matlab 更新数据刷新图
  8. linux u盘 命令,制作U盘版linux系统安装盘(DD命令)
  9. 电脑开机就显示360服务器,我用360给电脑杀毒,一直到开机启动项会停止,显示“扫面服务意外终止,无法继续扫描,这可能是由于程序...
  10. 怎么把PDF文件转换成CAD格式