public $id;
public $post;
public $postedon;
public function insert($target_file){
$sql="INSERT INTO post (ID,Post,PostedOn,Picture) VALUES (".$this->id.",".$this->post.",".$this->postedon.",".$target_file.")";
$this->db->execute($sql);
}
//没有错误,但我无法在数据库中插入值
答案 0 :(得分:2)
使用以下代码替换您的查询字符串
$sql="INSERT INTO post (ID,Post,PostedOn,Picture) VALUES ('$this->id','$this->post','$this->postedon','$target_file')";
答案 1 :(得分:1)
要与single quote
一起使用,因为您要在数据库中插入需要single quote
插入数据库的字符串值。
$sql="INSERT INTO post (ID,Post,PostedOn,Picture) VALUES (".$this->id.",'".$this->post."','".$this->postedon."','".$target_file."')";
而不是
$sql="INSERT INTO post (ID,Post,PostedOn,Picture) VALUES (".$this->id.",".$this->post.",".$this->postedon.",".$target_file.")";
答案 2 :(得分:1)
您在值
中缺少'
public $id;
public $post;
public $postedon;
public function insert($target_file){
$sql="INSERT INTO post (ID,Post,PostedOn,Picture) VALUES (".$this->id.",'".$this->post."','".$this->postedon."','".$target_file."')";
$this->db->execute($sql);
}
你做了一件有风险的事情,你是直接将值注入字符串,它不安全,有人可以做sql注入,你可以使用param绑定来避免这种情况,阅读sql注入。