Данные формы не вставляются в базу данных, несмотря на успешную проверкуPhp

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Данные формы не вставляются в базу данных, несмотря на успешную проверку

Сообщение Anonymous »

Я работаю над системой управления запасами продуктов, используя CodeIgniter. Я создал форму, которая собирает информацию о продукте, такую ​​как название бренда, родовое название, категория и сведения о ценах. Моя проблема в том, что, хотя проверка формы прошла успешно, данные, похоже, не вставляются в базу данных.
Controller InventoryController.php
Вот моя функция addProduct(), которая обрабатывает отправку формы, проверку и передачу данных в модель:
public function addProduct() {
$this->load->model('Inventory_model');
$data = $this->input->post();

$this->load->library('form_validation');
$this->form_validation->set_rules('brand_name', 'Brand Name', 'required');
$this->form_validation->set_rules('generic_name', 'Generic Name', 'required');
$this->form_validation->set_rules('category', 'Category', 'required');

if ($this->form_validation->run() == FALSE) {
// validation failed
$error = array(
"success" => false,
"message" => "Validation failed"
);
echo json_encode($error);
} else {
// validation passed
$data = array(
'brand_name' => $this->security->xss_clean($this->input->post('brand_name')),
'generic_name' => $this->security->xss_clean($this->input->post('generic_name')),
'category' => $this->security->xss_clean($this->input->post('category'))
);

$result = $this->Inventory_model->insertProduct($data);
echo json_encode($result);
}
}

Модель InventoryModel.php
Это моя функция InsertProduct() в модели, которая должна вставьте данные в таблицу продуктов:
public function insertProduct($data) {
$this->db->trans_start();

$this->db->insert('products', array(
'brand_name' => $this->security->xss_clean($data['brand_name']),
'generic_name' => $this->security->xss_clean($data['generic_name']),
'category' => $this->security->xss_clean($data['category'])
));

$this->db->trans_complete();

if ($this->db->trans_status() === FALSE) {
$error = array(
"success" => false,
"message" => "Error adding product"
);
return $error;
} else {
try {
$query = "SELECT *, selling_price * quantity as total FROM products ORDER BY product_id DESC";
$result = $this->db->query($query, $product_id);
$row = $result->row_array();

$total = $row['total'];
$badge_class = $row['qty_sold'] < 10 ? 'badge-danger' : 'badge-success';

$response = array(
"success" => true,
"data" => array(
"brand_name" => $row['brand_name'],
"generic_name" => $row['generic_name'],
"category" => $row['category']
)
);
return $response;
} catch (Exception $e) {
$error = array(
"success" => false,
"message" => "Error retrieving product data"
);
return $error;
}
}
}


Подробнее здесь: https://stackoverflow.com/questions/790 ... on-success
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»