2015-08-08 115 views
1

我使用ajax更新數據庫時,我從一個嵌套列表中拖放元素。但查詢獲取參數我傳遞AS列名稱。數據庫插入與laravel

代碼我的模型裏面:

public static function atualiza_drag($disc, $professor, $old) 
    { 
     DB::insert('INSERT INTO disciplina_professor (disciplina_id, professor_id) VALUES (`$disc`, `$professor`)');   
     DB::delete("DELETE FROM disciplina_professor WHERE professor_id = `$old`"); 
    } 

的錯誤:

local.ERROR: exception 'PDOException' with message 'SQLSTATE[42S22]: Column not found: 1054 Unknown column '3' in 'field list'

3是我從阿賈克斯得到了,但不是用這個作爲參數,它使用的列名的ID,我不能找出爲什麼。

回答

1

請從變量中刪除重音符(`)。

這應該看起來像

public static function atualiza_drag($disc, $professor, $old) 
    { 
     DB::insert('INSERT INTO disciplina_professor (disciplina_id, professor_id) VALUES ($disc, $professor)');   
     DB::delete('DELETE FROM disciplina_professor WHERE professor_id = $old'); 
    } 

注:如果您在使用插入單引號('),然後還做你刪除使用單引號。

字符和符號名
單qoute ='
重音符號=`

資源
http://laravel.com/docs/5.1/database
http://www.lookuptables.com/
http://www.ascii.cl/htmlcodes.htm

+0

刪除了重音符號是正確的。但我不能使用單引號,PHP不會將其解析爲變量。但它似乎在做這項工作。我會測試並馬上回來。 – PlayHardGoPro