首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >SQLSTATE[HY093]:找不到我错过的东西,我需要一双新的眼睛

SQLSTATE[HY093]:找不到我错过的东西,我需要一双新的眼睛
EN

Stack Overflow用户
提问于 2012-06-26 11:35:28
回答 2查看 55关注 0票数 1

不确定我在这里遗漏了什么,但我一直收到错误。

SQLSTATEHY093:参数编号无效:未定义参数

代码语言:javascript
运行
复制
$sth = $dbh->prepare("INSERT INTO time (student_id, super_id, d1-date, d2-date, d3-date, d4-date, d5-date, d1-hours, d2-hours, d3-hours, d4-hours, d5-hours) VALUES(:value-1,:value-2,:value-3,:value-4,:value-5,:value-6,:value-7,:value-8,:value-9,:value-10,:value-11,:value-12)");
    $pass = array
    (
        ':value-1'=>$user_id,
        ':value-2'=>$super_id,
        ':value-3'=>$data_array[0][0],
        ':value-4'=>$data_array[0][1],
        ':value-5'=>$data_array[0][2],
        ':value-6'=>$data_array[0][3],
        ':value-7'=>$data_array[0][4],
        ':value-8'=>$data_array[1][0],
        ':value-9'=>$data_array[1][1],
        ':value-10'=>$data_array[1][2],
        ':value-11'=>$data_array[1][3],
        ':value-12'=>$data_array[1][4]
    );
    $sth->execute($pass);
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-06-26 11:52:40

使用_ (下划线)而不是连字符。

代码语言:javascript
运行
复制
$sth = $dbh->prepare("INSERT INTO `time` (`student_id`, `super_id`, `d1-date`, `d2-date`, 
      `d3-date`, `d4-date`, `d5-date`, `d1-hours`, `d2-hours`, `d3-hours`, `d4-hours`, 
       `d5-hours`) 
       VALUES(:value_1,:value_2,:value_3,:value_4,:value_5,:value_6,:value_7,
       :value_8,:value_9,:value_10,:value_11,:value_12)");
票数 1
EN

Stack Overflow用户

发布于 2012-06-26 11:52:20

您不能使用破折号作为参数名的一部分(根据this post,我认为这是为了保持与Oracle的兼容性)。

可能是这样的:

代码语言:javascript
运行
复制
    $sth = $dbh->prepare("INSERT INTO time (student_id, super_id, d1-date, d2-date, d3-date, d4-date, d5-date, d1-hours, d2-hours, d3-hours, d4-hours, d5-hours) VALUES (:value1,:value2,:value3,:value4,:value5,:value6,:value7,:value8,:value9,:value10,:value11,:value12)");
    $pass = array
    (
        ':value1'=>$user_id,
        ':value2'=>$super_id,
        ':value3'=>$data_array[0][0],
        ':value4'=>$data_array[0][1],
        ':value5'=>$data_array[0][2],
        ':value6'=>$data_array[0][3],
        ':value7'=>$data_array[0][4],
        ':value8'=>$data_array[1][0],
        ':value9'=>$data_array[1][1],
        ':value10'=>$data_array[1][2],
        ':value11'=>$data_array[1][3],
        ':value12'=>$data_array[1][4]
    );
    $sth->execute($pass);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11200447

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档