2015-08-08 3 views
1

Я использую ajax для обновления базы данных, когда я перетаскиваю элемент из вложенного списка. Но запрос получает параметр I, передающий имя столбца AS.Вставка DB с 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 это идентификатор я получил от AJAX, но вместо того, чтобы использовать это в качестве параметра он использует в качестве имени столбца, и я не могу узнайте почему.

ответ

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'); 
    } 

Примечание: Если вы используете одиночные кавычки (') в вашей вставке затем сделать также использовать одинарную кавычку в вашем удалении.

и символы названия
Single qoute = '
грависом = `

Ресурсы
http://laravel.com/docs/5.1/database
http://www.lookuptables.com/
http://www.ascii.cl/htmlcodes.htm

+0

Удалены Гравис был прав. Но я не могу использовать одинарную цитату, PHP не будет анализировать это как переменную. Но, похоже, эта работа. Я проверю и вернусь. – PlayHardGoPro

Смежные вопросы