mysql - 无法从表单 zend 2 插入数据

标签 mysql zend-framework

我有以下代码将数据从 zend 表单插入到数据库表中,我在这里给出了模型的代码。

 public function Savemedic( $medicaldata,$id)
 {
   $medicadapter = $this->tableGateway->adapter;    
   $data = array(
            'cardno' => $medicaldata->cardno,
            'disabilityGroup' => $medicaldata->disabilityGroup,
            'childhooddis' => $medicaldata->childhooddis,
            'reason' => $medicaldata->reason,
            'ilnessCrypt' => $medicaldata->ilnessCrypt,
            'hearing' => $medicaldata->hearing,
            'vision' => $medicaldata->vision,
            'movement' => $medicaldata->movement,
            'dcp' => $medicaldata->dcp,
            'autism' => $medicaldata->autism,
            'psychology' => $medicaldata->psychology,
            'sensor' => $medicaldata->sensor,
            'statodinamic' => $medicaldata->statodinamic,
            'bloodflow' => $medicaldata->bloodflow,
            'brithing' => $medicaldata->brithing,
            'stomack' => $medicaldata->stomack,
            'escression' => $medicaldata->escression,
            'metabolism' => $medicaldata->metabolism,
            'secression' => $medicaldata->secression,
            'imunitet' => $medicaldata->imunitet,
            'speach' => $medicaldata->speach,
            'distortion' => $medicaldata->distortion,
            ' canser' => $medicaldata-> canser,
            'other' => $medicaldata->other,           
        );       
 $resultstd=$this->tableGateway->insert($data);

 $med_id=$this->tableGateway->lastInsertValue;
 //$education_id=$this->tableGateway->lastInsertValue;
 $dbAdapter = $this->tableGateway->adapter;

 $medadapter=$this->tableGateway->getAdapter();
 $medicaldataToStudent=new TableGateway('medicaldata_to_student', $medadapter);
 $data_arr = array(
    'student_id'  =>$id,
    'medical_id' => $med_id,      
 );
 $medicaldataToStudent->insert($data_arr);
}

这会生成以下查询:

 object(PDOStatement)#553 (1) { ["queryString"]=> string(598) "INSERT INTO `medicaldata` (`cardno`, `disabilityGroup`, `childhooddis`, `reason`, `ilnessCrypt`, `hearing`, `vision`, `movement`, `dcp`, `autism`, `psychology`, `sensor`, `statodinamic`, `bloodflow`, `brithing`, `stomack`, `escression`, `metabolism`, `secression`, `imunitet`, `speach`, `distortion`, ` canser`, `other`) VALUES (:cardno, :disabilityGroup, :childhooddis, :reason, :ilnessCrypt, :hearing, :vision, :movement, :dcp, :autism, :psychology, :sensor, :statodinamic, :bloodflow, :brithing, :stomack, :escression, :metabolism, :secression, :imunitet, :speach, :distortion, : canser, :other)" }

但我收到此错误消息:

SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens

我错过了什么?

最佳答案

字段名称中有一个空格:

' canser' => $medicaldata-> canser,

关于mysql - 无法从表单 zend 2 插入数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32499295/

相关文章:

mysql - 如果 Doctrine 使用 ZF1 和 ZF2 以及 MySql 作为数据库,默认的隔离级别是多少?

mysql - 大量sql插入的优化

PHP fatal error : Class 'Zend\Mvc\Application' not found

php - 使用 PHP 和 MYSQL 的响应式垂直多级菜单

C# LINQ 生成 "Specified cast is not valid"错误

mysql - libgit2 - 将树对象写入 mysql odb 后端

php - Facebook 点赞计数器显示网站点赞而非文章级别点赞

php - zend 框架表单未显示

mysql - 如何设计我的数据库以容纳这些数据

sql - 用于大量更改密码的简单 sql