Ошибка при выполнении операции редактирования

Мне нужно выполнить операцию редактирования / обновления на той же странице, с которой я выполняю операцию вставки. Получаю error undefined $select.

Это мой метод:

function editCategory($catId,$datavalue)
{
    $data=array(
                'CategoryName' =>    $datavalue['CategoryName'],
                'Status'       =>    $datavalue['Status']
                );

    $this->db->update('tblcategory');
    $this->db->set($data);
    $this->db->where('id',$catId)

    $this->db->select('*');
    $this->db->from('tblcategory');
    $this->db->where('id',$catId);

    $query=$this->db->get()->row(); 

    //$result=$query->row_array(); 
    if ($query)
    {
        return $query;
    }
    else
    {
        return false;
    }
}
Стоит ли изучать 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 и хотите разрабатывать...
0
0
51
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Надеюсь, что это поможет вам :

Сделайте правильный порядок предложений в запросе update, значит, предложение where и set должно быть первым, должно быть так:

Примечание: убедитесь, что $catId и $datavalue не пустые, пожалуйста, добавьте для них проверку

function editCategory($catId, $datavalue)
{
    $data = array(
        'CategoryName' => $datavalue['CategoryName'],
        'Status' => $datavalue['Status']
    );

    $this->db->set($data);
    $this->db->where('id',$catId);
    $this->db->update('tblcategory');


    $this->db->select('*');
    $this->db->from('tblcategory');
    $this->db->where('id',$catId);
    $query=$this->db->get()->row(); 
    if ($query)
    {
        return $query;
    }
    else
    {
        return false;
    }
}

Подробнее: https://www.codeigniter.com/user_guide/database/query_builder.html

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

Aankit Tiwari 26.07.2018 07:41

Пожалуйста, проверьте пустой $data, если нет, то обновите после этого

Pradeep 26.07.2018 07:53

Короче говоря, вот чем я могу вам помочь.

    function editCategory($catId, $datavalue)
    {
        $data = array(
            'CategoryName' => $datavalue['CategoryName'],
            'Status' => $datavalue['Status']
        );

        //$this->db->set($data); --> you don't need to set it because you already set the values above
        $this->db->where('id',$catId);
        $this->db->update('tblcategory',$data); //pass the data here to be inserted in your table

}

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