i'm trying wrap head around , can't seem figure out how query returns syntax error. knowlegde of mysql small i'm getting grips it.
this query i'm trying execute:
function _delete_leaf_node($id){ $query =""; $query .=" select @myleft := lft, @myright := rgt, @mywidth := rgt - lft + 1"; $query .=" pages"; $query .=" id =".$id.";"; $query .=" delete pages lft between @myleft , @myright;"; $query .=" update pages set rgt = rgt - @mywidth rgt > @myright;"; $query .=" update pages set lft = lft - @mywidth lft > @myright;"; $this->_custom_query($query); }
this error returned:
you have error in sql syntax; check manual corresponds mysql server version right syntax use near 'delete pages lft = @myleft update pages set rgt = rgt + 1, lft = lft ' @ line 1
i have checked if right id passed. perhaps variables not set in proper manner? don't know how 1 check that.
any appreciated.
function _delete_leaf_node($id){ $query =" select @myleft := lft, @myright := rgt, @mywidth := rgt - lft + 1"; $query .=" pages"; $query .=" id =".intval($id); $this->_custom_query($query); $this->_custom_query("delete pages lft between @myleft , @myright"); $this->_custom_query("update pages set rgt = rgt - @mywidth rgt > @myright"); $this->_custom_query("update pages set lft = lft - @mywidth lft > @myright"); }
Comments
Post a Comment