BUG 数据未正确插入到 codeigniter 3 中的数据库中

问题描述 投票:0回答:1

帮助我...我想创建一个洗衣程序,我使用codeigniter 3。当我在用户端编程时,我遇到了数据未插入数据库的问题。即使数据库名称、表名称和列名称正确。从数据库到字段名称都是正确的。我尝试添加处理错误是相同的,这是一个错误。请提供修复它的代码。

查看

`

<!-- Page Heading -->
<div class="row">
    <!-- Page Heading -->
    <div class="col-sm-1">
        <a href="<?= base_url('home/index'); ?>" class="btn btn-outline-primary"><i class="fas fa-arrow-left"></i></a>
    </div>
    <div class="col-sm-5">
        <h1 class="h3 mb-4 text-gray-800"><?= $title; ?></h1>
    </div>
</div>


<div class="container">


    <form name="frm_add" action="<?= base_url('home/tambahOrderCk'); ?>" method="post">
        <div class="row">
            <div class="col">
                <div class="form-group">
                    <label for="exampleFormControlInput1">Nama</label>
                    <input type="text" class="form-control" id="name" name="name" placeholder="Masukan Nama" value="<?= $user['name'] ?>">
                    <?= form_error('name', '<small class="text-danger pl-3">', '</small>'); ?>
                </div>
                <div class="form-group">
                    <label for="exampleFormControlInput1">No Handphone Aktif</label>
                    <input type="number" class="form-control" id="no_hp" name="no_hp" placeholder="Masukan Nomor" value="<?= $user['phone_number'] ?>">
                    <?= form_error('no_hp', '<small class="text-danger pl-3">', '</small>'); ?>
                </div>
                <div class="form-group">
                    <label for="exampleFormControlSelect1">Jenis Paket</label>
                    <select class="form-control" id="jenis_paket" name="jenis_paket">
                        <?php foreach ($jenis_paket as $jp) : ?>
                            <option value="<?= $jp['id_ck'] ?>"><?= $jp['nama_paket_ck'] ?></option>
                        <?php endforeach; ?>
                    </select>
                </div>
                <div class="form-group">
                    <label for="keterangan">Catatan</label>
                    <textarea class="form-control" id="keterangan" name="keterangan" rows="3"></textarea>
                </div>
            </div>
            <div class="col">
                <div class="form-group">
                    <label for="address">Alamat</label>
                    <textarea class="form-control" rows="2" id="address" name="address"><?= $user['address'] ?></textarea>
                    <?= form_error('address', '<small class="text-danger pl-3">', '</small>'); ?>
                </div>
                <div class="form-group">
                    <label for="berat_cucian">Berat Cucian (/Kg)</label>
                    <input type="number" class="form-control" id="berat_cucian" name="berat_cucian" placeholder="Masukan Berat Cucian">
                    <?= form_error('berat_cucian', '<small class="text-danger pl-3">', '</small>'); ?>
                </div>


            </div>
            <button type="submit" class="btn btn-primary">
                Pesan Sekarang
            </button>
    </form>
</div>
`

控制器

`公共函数 tambahOrderCk() {

    $this->load->library('form_validation');

    $data['title'] = 'Tambah Order Cuci Komplit';
    $data['user'] = $this->db->get_where('user', ['email' => $this->session->userdata('email')])->row_array();
    $data['jenis_paket'] = $this->db->get('tbl_cuci_komplit')->result_array();


    // echo "Nilai \$nama_order: " . $nama_order;
    // echo "Nilai \$alamat: " . $alamat;
    // echo "Nilai \$jenis_paket: " . $jenis_paket;
    // echo "Nilai \$berat: " . $berat;

    // echo "Nilai \$waktuKerja: " . $waktuKerja;
    // echo "Nilai \$tarif_ck: " . $tarif_ck;





    $this->form_validation->set_rules('name', 'Name', 'required', [
        'required' => 'Name harus diisi!'
    ]);
    $this->form_validation->set_rules('no_telp', 'No Telp', 'required', [
        'required' => 'No Telp harus diisi!'
    ]);
    $this->form_validation->set_rules('address', 'Address', 'required', [
        'required' => 'Alamat harus diisi!'
    ]);
    $this->form_validation->set_rules('berat_cucian', 'Berat Cucian', 'required', [
        'required' => 'Berat Cucian harus diisi!'
    ]);


    $or_ck_number = 'CK/' . date('Ymd') . '/' . rand(100000, 999999);
    $nama_order = htmlspecialchars($this->input->post('name', true));
    $alamat = htmlspecialchars($this->input->post('address'), true);
    $jenis_paket = htmlspecialchars($this->input->post('jenis_paket'), true);
    $berat = htmlspecialchars($this->input->post('berat_cucian'), true);

    $waktuKerja = 0;
    $tarif_ck = 0;



    if ($jenis_paket == 1 or $jenis_paket == 2 or $jenis_paket == 3) {
        $waktu_Kerja = $this->db->get_where('tbl_cuci_komplit', ['id_ck' => $jenis_paket])->row_array();
        $waktuKerja = (string)$waktu_Kerja['waktu_kerja_ck'];
        $tarifCk = $this->db->get_where('tbl_cuci_komplit', ['id_ck' => $jenis_paket])->row_array();
        $tarif_ck = $tarifCk['tarif_ck'];
    }


    if ($this->form_validation->run() == true) {


        $data = [
            'or_ck_number' => $or_ck_number,
            'nama_order_ck' => $nama_order,
            'no_telp_ck' => htmlspecialchars($this->input->post('no_telp'), true),
            'alamat_ck' => $alamat,
            'jenis_paket_ck' => $jenis_paket,
            'waktu_kerja_ck' => $waktuKerja,
            'berat_qty_ck' => $berat,
            'harga_perkilo' => $tarif_ck,
            'tgl_masuk_ck' => date('Y-m-d'),
            'tgl_keluar_ck' => date('Y-m-d', strtotime('+' . $waktuKerja . 'days')),
            'total_bayar_ck' => $tarif_ck * htmlspecialchars($this->input->post('berat_cucian'), true),
            'keterangan_ck' => htmlspecialchars($this->input->post('keterangan'), true)
        ];



        $this->db->insert('tbl_order_ck', $data);
        // var_dump($this->db->affected_rows());
        // die;

        try {
            if ($this->db->affected_rows() > 0) {
                echo "Data berhasil dimasukkan ke dalam database";
            } else {
                echo "Error: " . $this->db->error();
            }
        } catch (Exception $e) {
            echo "Error: " . $e->getMessage();
        }

        // if ($this->db->affected_rows() > 0) {
        //     echo "Data berhasil dimasukkan ke dalam database";

        // } else {
        //     echo ""
        // }
        redirect('home/tambahOrderCk');
    } else {
        $this->load->view('templates/header', $data);
        $this->load->view('templates/sidebar', $data);
        $this->load->view('templates/topbar', $data);
        $this->load->view('home/tambahOrderCk', $data);
        $this->load->view('templates/footer');
    }
}

}`

php codeigniter codeigniter-3
1个回答
0
投票

我的数据库结构(tbl_order_ck)

-- phpMyAdmin SQL Dump
-- version 5.2.1
-- https://www.phpmyadmin.net/
--
-- Host: 127.0.0.1
-- Generation Time: Mar 04, 2024 at 04:59 AM
-- Server version: 10.4.28-MariaDB
-- PHP Version: 8.0.28

SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
START TRANSACTION;
SET time_zone = "+00:00";


/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8mb4 */;

--
-- Database: `db_ciproject`
--

-- --------------------------------------------------------

--
-- Table structure for table `tbl_order_ck`
--

   CREATE TABLE `tbl_order_ck` (
  `id_order_ck` int(11) NOT NULL,
  `id_ck` int(11) NOT NULL,
  `or_ck_number` varchar(10) DEFAULT NULL,
  `nama_order_ck` varchar(100) NOT NULL,
  `no_telp_ck` char(15) NOT NULL,
  `alamat_ck` text NOT NULL,
  `jenis_paket_ck` varchar(100) NOT NULL,
  `waktu_kerja_ck` varchar(30) NOT NULL,
  `berat_qty_ck` int(11) NOT NULL,
  `harga_perkilo` int(11) NOT NULL,
  `tgl_masuk_ck` date NOT NULL,
  `tgl_keluar_ck` date NOT NULL,
  `total_bayar_ck` double NOT NULL,
  `keterangan_ck` text DEFAULT NULL
   ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

      `--
      -- Indexes for dumped tables
      --`

  --
  -- Indexes for table `tbl_order_ck`
  --
     ALTER TABLE `tbl_order_ck`
     ADD PRIMARY KEY (`id_order_ck`);

  --
  -- AUTO_INCREMENT for dumped tables
  --

  --
  -- AUTO_INCREMENT for table `tbl_order_ck`
  --
     ALTER TABLE `tbl_order_ck`
     MODIFY `id_order_ck` int(11) NOT NULL AUTO_INCREMENT;
     COMMIT;

    /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
    /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
    /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
© www.soinside.com 2019 - 2024. All rights reserved.