2012-07-30 4 views
0

선주문 탐색 데이터베이스에서 레코드를 삽입하고 삭제하는 쿼리는 다음과 같습니다. 나는 codeigniter를 사용하고 있으며, 여러 쿼리를 발생시키는 법을 모른다. 다음 쿼리를 시도했지만 codeigniter에서 제대로 실행되지 않았고 phpmyadmin을 사용하여 올바르게 실행되지 않았습니다.CodeIgniter에서 다중 쿼리 삽입 및 삭제

$level = $_GET['level'] + 1; 
$rgt = $_GET['rgt'] + 1; 
if ($_GET['level'] == 0) { 
    $sql = "UPDATE xp_subunit SET lft = lft+2, rgt=rgt+2 WHERE rgt > " . $_GET['rgt'] . "; "; 
    $sql .="INSERT INTO xp_subunit SET level=" . $level . ", lft =" . $_GET['rgt'] . ", rgt = " . $rgt . " , name = '" . $_GET['name'] . "', unit_id='" . $_GET['unit_id'] . "', description='" . $_GET['description'] . "';"; 
    echo $sql; 
} else { 
    $sql = "UPDATE xp_subunit SET rgt = rgt+2 WHERE rgt > " . $_GET['lft'] . "; "; 
    $sql .="INSERT INTO xp_subunit SET level=" . $level . ", lft =" . $_GET['rgt'] . ", rgt = " . $rgt . " , name = '" . $_GET['name'] . "', unit_id='" . $_GET['unit_id'] . "', description='" . $_GET['description'] . "';"; 
    echo $sql; 
} 
echo $query = $this->db->insert($this->tablename, $sql); 

쿼리를 데이터베이스에서 기록을 삭제하는 :

$sql .= "SELECT @myLeft := " . $_GET['lft'] . ", @myRight := " . $_GET['rgt'] . ", @myWidth := " . $_GET['lft'] . " - lft + 1 
    FROM xp_subunit WHERE id =" . $_GET['id'] . "; "; 
$sql .= "DELETE FROM xp_subunit WHERE lft BETWEEN @myLeft AND @myRight; "; 
$sql .= "UPDATE xp_subunit SET rgt = rgt - @myWidth WHERE rgt > @myRight; "; 
$sql .= "UPDATE xp_subunit SET lft = lft - @myWidth WHERE lft > @myRight; "; 
echo $query = $this->db->mysqli_multi_query($sql); 

무슨 잘못 위의 쿼리를 데이터베이스에 기록을 삽입하기위한

쿼리?

+0

당신은 "무슨 코드를 다음 문제."... –

+0

미안 ... 내가 – Sky

답변

관련 문제