我是PHP新手。我正在尝试的是,我已经执行了插入,我将不得不获取它的id,所以我使用;insert_lastid();函数与mysqli_last_insert_id相同,所以不要与之混淆。我试图在最后一个id的基础上保留最后一个id,我将在另一个函数中执行select操作这是将更清楚我的问题的代码。此功能用于插入
public function cars_insert($_POST,$path) {
$this->insert_query="insert into `_cars` (`_year`,`_make`,`_model`,`_version`,`_city`,`_color`,`_mileage`,`_engine_capacity`, `_engine_type`,`_assembly`,`_image`)VALUES('" .$_POST['year'] . "','" .$_POST['make'] . "','" .$_POST['model'] . "','" .$_POST['version'] . "','" .$_POST['city'] . "','" .$_POST['color'] . "','" .$_POST['mileage'] . "','" .$_POST['engine_capacity'] . "','" .$_POST['engine_type'] . "','" .$_POST['assembly'] . "','" .$path . "')";
return $this->insert();
global $car;
$this->car=insert_lastid();
}
这是它将在insert_lastid();
的基础上选择的第二个功能
public function cars_id($this->car){
$this->select_query="SELECT * FROM `_cars` WHERE `_id`='$this->car'";
return $this->select();
}
return
语句。当您点击return
语句时,函数将停止执行。移动代码,以便在函数返回之前完成变量赋值。
$insert = $this->insert();
$this->car=insert_lastid();
return $insert;
global $car
语句和cars_id
中的参数都是不必要的,因为$this->car
是类的成员,并且可以从该类的任何成员函数访问,而不必像对待普通变量那样传入或全局化。
public function cars_id(){
$this->select_query="SELECT * FROM `_cars` WHERE `_id`='$this->car'";
return $this->select();
}
附带说明一下,您的代码当前非常容易受到SQL注入攻击,除非$this->insert()
中有某种代码在运行SQL语句之前检查它们。在查询中使用所有$_POST
变量之前,请确保正确转义这些变量,或者使用准备好的语句。