Обновить заголовок в laravel

public function updateMovie(Request $request, $id)
{
    $request->title;
    $movie = DB::connection('mysql2')->select('UPDATE cb_video SET title='.$request->title.' WHERE videoid=' . $id);
    return response()->json(['status' => 'success', 'data' => $movie]);
}

Я пытаюсь обновить заголовок в БД, но выдает ошибку

SQLSTATE[42000]: Синтаксическая ошибка или нарушение прав доступа: 1064 У вас есть ошибка в синтаксисе SQL; проверьте руководство, соответствующее вашему Версия сервера MySQL для правильного синтаксиса для использования рядом с «ГДЕ videoid=1449' в строке 1 (SQL: UPDATE cb_video SET title= ГДЕ видеоидентификатор = 1449)

что я могу сделать?

Ради всего святого, сейчас 2023 год... параметризуйте свои запросы! Или еще лучше использовать готовый ORM laravel... Я понятия не имею, почему вы написали такой простой запрос вручную, а не с помощью построителя запросов. Проблема, с которой вы столкнулись, возникает непосредственно из-за неправильного построения запроса... title (я полагаю) - это строка, и вы забыли ее процитировать. Если бы вы написали запрос разумным образом, эта глупая синтаксическая ошибка никогда бы не произошла. И/или из дампа кажется, что заголовок на самом деле пуст... так что, возможно, вы пытаетесь обновить его несуществующим значением. Это тоже не имеет смысла.

ADyson 25.01.2023 11:45

Прочтите laravel.com/docs/9.x/queries и примените.

ADyson 25.01.2023 11:46
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
2
52
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Я надеюсь, что вы найдете это полезным

$title = 'New Title'; 

DB::table('table_name')->where('id', $id)->update(['title' => $title]);

Спасибо

в laravel есть много лучших способов, чем то, что вы делаете, вы можете использовать построитель запросов или красноречие для выполнения своей задачи и безопасным способом

например

    public function updateMovie(Request $request, $id)
    {
        $movie = Your_Movie_Modal::findbyId($id);
        $movie->title = $request->title;
        $movie->update();
        return response()->json(['status' => 'success', 'data' => $movie]);
    }

и как я вижу по вашей ошибке это означает что вы не отправляете заголовок в запросе

да, но мне нужно выбрать конкретную базу данных... так как же мне работать с db::connection?

ayesha maqsood 25.01.2023 12:39

в этом случае вы можете использовать #Arte Answer

Mohammad Edris Raufi 25.01.2023 13:08
Ответ принят как подходящий
DB::connection('mysql2')->table('cb_video')
->where('videoid', $id)
->update(['title' => $request->title]);

Хотя этот фрагмент кода может быть решением, включение объяснения действительно помогает улучшить качество вашего сообщения. Помните, что вы отвечаете на вопрос для будущих читателей, и эти люди могут не знать причин вашего предложения кода.

Shawn Hemelstrand 26.01.2023 01:27

Другие вопросы по теме