2016-04-07 18 views
0

Bir tablodaki iki sütunu güncelleyen CodeIgniter Uygulamasında, kod yazıcısındaki "update()" yardımcı yöntemini kullanarak. SQL noktalarınınCodeIgniter kullanarak MySQL tablosunun güncellenmesi hatası

You have an error in your SQL syntax; 
    check the manual that corresponds to your MySQL server version 
    for the right syntax to use near 'NEO WHERE `empID` = 20160' at line 1 


    UPDATE `emp` SET `status` = 0, 
    `name` = ALIBABA, THIEF NEO WHERE `empID` = 20160 

Benim bilgi için:

 public function update_employee($id, $data) { 

    $id = (int)$id; 
    $this->db->where('empID', $id); 
    $this->db->update('emp', $data); 
} 

sorunu i aşağıdaki hatayı alıyorum olmasıdır:

 $data_v = array(    
      "status" => $resp->Code 
     ); 
     if($resp->Code == "0") { 
      $data_v['name'] = $responseObject->AccountName; 
       } 
     $this->employees_model->update_employee($id, $data_v); 

modelidir:

Bu

kontrolcüsüdür

karakter değerinin gerçeği (inanıyorum)
 ALIBABA, THIEF NEO 

ihtiyaçları ben bu çözebilirsiniz Bu nasıl

'ALIBABA, THIEF NEO' 

gibi görünmek için tek tırnak içine alınması için? ve eğer mesele, tırnak içinde karakter değerlerini kapsamıyorsa ... ne yapmalıyım? Teşekkürler

+0

Çözüm uygulayan herkes size yardımcı olur mu? – Hassaan

cevap

0

Evet, ' dize öncesinde ve sonrasında eklemeniz gerekiyor. Bunu yapmak için db sınıfında kaçış() yöntemini kullanabilirsiniz

$data_v['name'] = "'".$responseObject->AccountName."'"; 
0

içine

$data_v['name'] = $responseObject->AccountName; 

den

değişikliği. Kaçış yöntemi veri türünü bulur ve dizeye tırnak işareti ekler.

Ör: $ data_v ['name'] = $ this-> db-> escape ($ responseObject-> AccountName);

Not: Ayrıca $ this-> db-> escape_str();