PDO INSERT INTO无效

时间:2013-08-07 02:35:52

标签: php pdo

我有一段时间试图找出我的查询有什么问题,并且无法弄清楚。我搜索了互联网,S.O发现了几个类似的答案,但似乎都没有。

pLease查看受攻击的代码并帮助我确定问题所在。

  public function add_page($page=array()){
global $db;

//define page properties
$page_name = $page['page_name'];
$page_title= $page['page_title'];
$page_meta_description = $page['page_meta_description'];
$page_meta_keywords = $page['page_meta_keywords'];
$page_meta_other = $page['page_meta_other'];
$page_meta_other_2= $page['page_meta_other_2'];
$page_url = $page['page_url'];
$page_summary = $page['page_summary'];
$page_content = $page['page_content'];
$page_nav_item = $page['page_nav_item']; 
$page_nav_name= $page['page_nav_name'];


    $q="INSERT INTO `simplecms`.`pages` (`page_id`, `page_name`, `page_title`, `page_meta_description`, `page_meta_keywords`, `page_meta_other`, `page_other_2`, `page_url`, `page_summary`, `page_content`, `page_nav_item`, `page_nav_name`) VALUES ( ?, ?, ?, ?, ?, ? , ? , ?, ?, ?, ?)";
    $query = $db->prepare($q);

    $query->bindValue(1,$page_name);
    $query->bindValue(2,$page_title);
    $query->bindValue(3,$page_meta_description);
    $query->bindValue(4,$page_meta_keywords );
    $query->bindValue(5,$page_meta_other);
    $query->bindValue(6,$page_meta_other_2);
    $query->bindValue(7,$page_url );
    $query->bindValue(8,$page_summary);
    $query->bindValue(9,$page_content );
    $query->bindValue(10,$page_nav_item);
    $query->bindValue(11,$page_nav_name);

    $query->execute();
    $r=$query->rowCount();

    echo $r;



    //VALUES (NULL, 'Page Name', 'Page Title', 'Meta  page description', 'google, ooogle ogle, userher', 'dymmy text qq', '', 'google.com', 'Small Summary', 'Ths is the big text', 'Yes', 'Google.com');


    /*
    $query= $db->prepare("INSERT INTO `pages`(`page_name`, `page_title`, `page_meta_description`, `page_meta_keywords`, `page_meta_other`, `page_other_2`, `page_url`, `page_summary`, `page_content`, `page_nav_item`, `page_nav_name`) VALUES (?,?,?,?,?,?,?,?,?,?,?)");
    $query->execute(array(
        $page_name,
        $page_title,
        $page_meta_description,
        $page_meta_keywords,
        $page_meta_other,
        $page_meta_other_2,
        $page_url,
        $page_summary,
        $page_content,
        $page_nav_item,
        $page_nav_name
        ));
    $query->execute();

    $row = $query->rowCount();
    echo $row;*/

    /*
    $query = "INSERT INTO `pages`(
                    `page_name`,
                    `page_title`,
                    `page_meta_description`,
                    `page_meta_keywords`,
                    `page_meta_other`,
                    `page_meta_other_2`,
                    `page_url`,
                    `page_summary`,
                    `page_content`,
                    `page_nav_item`,
                    `page_nav_name`
                    )  VALUES(
                    :name,
                    :title,
                    :desctription,
                    :keywords,
                    :meta1,
                    :meta2,
                    :url,
                    :summary,
                    :content,
                    :navitem,
                    :navname

                    )";
                                            //VALUE(?,?,?,?,?,?,?,?,?,?,?)";
    $q = $db->prepare($query);
    $q->execute(array(
                    ':name'                 =>$page_name,
                    ':title'                =>$page_title,
                    ':desctription'         =>$page_meta_description,
                    ':keywords'             =>$page_meta_keywords,
                    ':meta1'                =>$page_meta_other,
                    ':meta2'                =>$page_meta_other_2,
                    ':url'                  =>$page_url,
                    ':summary'              =>$page_summary,
                    ':content'              =>$page_content,
                    ':navitem'              =>$page_nav_item,
                    ':navname'              =>$page_nav_name
        ));
        */
    /*$q->bindValue(':name', $page_name, PDO::PARAM_STR);
    $q->bindValue(':title', $page_title, PDO::PARAM_STR);
    $q->bindValue(':desctription', $page_meta_description, PDO::PARAM_STR);
    $q->bindValue(':keywords', $page_meta_keywords, PDO::PARAM_STR);
    $q->bindValue(':meta1', $page_meta_other, PDO::PARAM_STR);
    $q->bindValue(':meta2', $page_meta_other_2, PDO::PARAM_STR);
    $q->bindValue(':url', $page_url, PDO::PARAM_STR);
    $q->bindValue(':summary', $page_summary, PDO::PARAM_STR);
    $q->bindValue(':content', $page_content, PDO::PARAM_STR);
    $q->bindValue(':navitem', $page_nav_item, PDO::PARAM_STR);
    $q->bindValue(':navname', $page_nav_name, PDO::PARAM_STR);
    $q->execute();*/

    /*$r = $q->rowCount();

    if($r<1){
        echo "Oops no article is added <pre>";
        print_r($page);
        echo "</pre>";
    }else{

        echo $r."Google";
    }
    */

}

我已经尝试了几乎所有可以想到的方法。我已经浏览了几个小时的互联网,但是没有用,

在同一个类中,我可以从数据库中选择和获取所有数据,但插入数据库已成为一场噩梦。

请帮忙。

1 个答案:

答案 0 :(得分:2)

page_id缺少

VALUES。您有12个字段,但有11个占位符和11个bindValue

如果page_idAUTO_INCREMENT,请勿将其包含在字段列表中。