下面是我的表,它类似于另一个现有的表。但是在执行查询时,我得到了一个错误。
//
public function addFirstChild() {
$this->db->query("INSERT INTO " . $this->db->table("genealogy") . "
WHERE parent_id = '" . (int)$this->getSponsorID() . "'
SET first_child = '" . (int)$this->getId()."',
genealogy_id = '" . (int)$this->getId() ."'");
}执行时,我得到以下错误:
server :您的SQL语法有错误;请检查与您的MySQL服务器版本对应的手册,以获得在第2行的“WHERE parent_id = '1‘SET first_child = '2’”附近使用的正确语法,在第2行错误号: 1064 SQL:插入到ci_genealogy WHERE= '1‘SET first_child = '2',genealogy_id =’2‘在第108行的C:\wamp64\www\s1nb2\core\database\amysqli.php中使用。
没有其他的方法,我可以想出这个函数,我已经在网上搜索和阅读多个帖子与相同的错误,但仍然没有解决办法。请帮帮忙。我花了4个多小时才把这件事做好。
发布于 2016-12-30 11:55:00
由于您使用的是WHERE,所以您似乎希望更改现有的记录。你要的是UPDATE,而不是INSERT
"UPDATE " . $this->db->table("genealogy") . "
SET first_child = '" . (int)$this->getId()."', genealogy_id = '" . (int)$this->getId() ."'
WHERE parent_id = '" . (int)$this->getSponsorID() . "'"https://stackoverflow.com/questions/41395806
复制相似问题