PDI插入循环

时间:2015-10-23 13:25:44

标签: php pdo

我有一个表单,其中包含技能名称和技能级别字段。 这可以通过js动态扩展,所以基本上它们是skill_name[]skill_level[]。关键是,我想将这些插入到database中,放入单独的记录中。

我有一段代码,应该这样做但不能正常工作:

$skill_name         = $_POST['skill_name'];
$skill_level        = $_POST['skill_level'];    

for ($is = 0; $is < count($skill_name); $is++) {
        if(!empty($skill_name[$is])) {
            $inserting  = $db->prepare("insert into position_skills 
                (`type`,`pid`,`name`,`general`)
                values 
                ('skill', :pid, :name, :general");
                $inserting  ->execute(
                array(
                ':pid'          => $last_id,
                ':name'         => $skill_name[$is],
                ':general'      => $skill_level[$is]
                )); 
        }
    } 

错误消息如下:

  

致命错误:未捕获的异常&#39; PDOException&#39;与消息   &#39; SQLSTATE [42000]:语法错误或访问冲突:1064您有   SQL语法错误;查看与您的手册相对应的手册   MySQL服务器版本,用于在&#39;&#39;附近使用正确的语法在第4行&#39;在   /home1/xx/public_html/xx/post.php:47堆栈跟踪:#0   /home1/xx/public_html/xx/post.php(47):PDOStatement-&gt; execute(Array)   第47行/home1/xx/public_html/xx/post.php中抛出#1 {main}

The line 47 is the end of the arrays.

我是PDO的新手,但其他插件就像魅力一样。可能是什么问题?提前致谢

1 个答案:

答案 0 :(得分:0)

错字...未披露的括号。

/***/
$inserting  = $db->prepare("insert into position_skills 
               (`type`,`pid`,`name`,`general`)
               values 
               ('skill', :pid, :name, :general)
              ");