Php 从插入的数据中获取id
我的数据通过ajax插入,然后插入php函数 我希望在插入数据后,用户可以单击预览按钮, 并将被重定向到一个动态页面,其中数据将从数据库中提取 基于id。此时,查询字符串中的id没有得到任何信息 我有:Php 从插入的数据中获取id,php,mysql,codeigniter,Php,Mysql,Codeigniter,我的数据通过ajax插入,然后插入php函数 我希望在插入数据后,用户可以单击预览按钮, 并将被重定向到一个动态页面,其中数据将从数据库中提取 基于id。此时,查询字符串中的id没有得到任何信息 我有: <?php class Campaign { public $int_campaign_id; public function Insert($title,$desc,$cat,$type){ $_title = $t
<?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;
}
}
.....
我不知道MySQL连接使用什么变量名。但是,$|连接变量|->insert_id
应该获得刚才插入的id
你看过报纸了吗
我还建议使用预先准备好的语句来防止SQL注入。在创建活动对象后,在按钮代码中不调用$camp->insert(…args…
)。
应该是
<?php
$camp = new Campaign();
$camp->insert(...args...)
$campaign_id2 = $camp->int_campaign_id;
...
如果您使用的是MySQLi,那么您真的应该在准备好的语句中使用bind变量。。。。但是你的班级叫MyClass
还是Campaign
?你到底在哪里调用Insert()
方法呢?旁注:嗨,我能知道你在哪里找到使用mysqli的codeigniter吗?它叫做活动!调用Insert方法将运行整个Insert函数,不是吗?是的,调用Insert方法将运行整个Insert方法,如果成功,则执行Insert并设置id值,如果不成功,则引发异常:不调用它将根本不会运行。谢谢您的回复。但这不会再次运行整个insert方法吗?创建obj不会运行insert方法。你必须调用它并给出参数。我忘了提到,有两个按钮,一个用于插入活动,另一个用于预览,这就是问题所在。对不起,我无法理解。无论哪种方式,当您想要插入时,都要像这里一样创建一个obj,调用它的insert方法,然后在您提供的第二个代码段中使用相同的obj($camp)并使用obj->campaign_id。这就是我的问题,insert方法是通过ajax在另一个php文件中调用的。如何从该文件返回insert_id?这是个问题
<?php
$camp = new Campaign();
$camp->insert(...args...)
$campaign_id2 = $camp->int_campaign_id;
...