从插入的数据中获取id

时间:2014-02-01 23:50:01

标签: php mysql codeigniter

我的数据是通过ajax插入然后在php函数中插入的 我希望只要插入数据,用户就可以点击预览按钮, 并将被重定向到动态页面,数据将从数据库中提取 基于id。目前,查询字符串中的id没有任何内容。

我有:

   <?php

       class Campaign {

     public $int_campaign_id;


    public function Insert($title,$desc,$cat,$type){

            $_title = $this->db->mysqli->real_escape_string($title);
            $_desc = $this->db->mysqli->real_escape_string($desc);
            $_cat = $this->db->mysqli->real_escape_string($cat);
            $_type = $this->db->mysqli->real_escape_string($type);
            $sql = "INSERT INTO mytable VALUES(NULL,
                     '{$_title}','{$_desc}','{$_cat}','{$_type}', NOW())";

                $result = $this->db->mysqli->query($sql);

                if(!$result)
                {
                        throw new Exception("Query failed!" . $sql . " " . $this->db->mysqli->error);

                }else{
                    $this->int_campaign_id = $this->db->mysqli->insert_id;

            }  

          }
            .....

按钮:

     <?php $camp = new Campaign();
                         $campaign_id2 = $camp->int_campaign_id;

                        ?>
                        <a href="<?php echo site_url('business_campaigns/player_preview');?>?id=<?php echo $campaign_id2;?>" name=""  id=""  class="previewBtn2"> 
           </a>

任何帮助将不胜感激, 麦克

2 个答案:

答案 0 :(得分:0)

我不知道你用于MySQL连接的变量名是什么。但是$|connection variable|->insert_id应该获得刚刚插入的ID。

您是否阅读过PHP documentation

我还建议使用预准备语句来阻止SQL注入。

答案 1 :(得分:0)

在按钮代码中制作Campaign对象后,您没有调用$camp->insert(...args...)。 它应该是

<?php
    $camp = new Campaign();
    $camp->insert(...args...)
    $campaign_id2 = $camp->int_campaign_id;
...