php - 使用codeigniter在mysql中输入数据

标签 php mysql codeigniter

我在 codeigniter 中创建了一个简单的表单,将 4 个项目插入到 mysql 中。 isbn、作者、价格、书名。 当我点击提交时,它告诉我 book/book_validation 404 页面未找到。我尝试了一切我不知道出了什么问题。我的数据库和配置文件都是正确的。

这是我的代码

    <?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Book extends CI_Controller {

    public function index() {

        $this->load->view('insert_book');
    }


    public function book_validation() {

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


        $this->form_validation->set_rules('isbn', 'ISBN', 'required');
        $this->form_validation->set_rules('author', 'Author', 'required');
        $this->form_validation->set_rules('price', 'Price', 'required');
        $this->form_validation->set_rules('title', 'Title', 'required');


        if($this->form_validation->run() == TRUE) {
            echo "Every value has been accepted";
            $this->load->model("model_books");
            $this->insert();
    }



}


        public function insert() {
        $newRow = array("isbn" => $this->input->post('isbn'),
                        "author" => $this->input->post('author'),
                        "price" => $this->input->post('price'),
                        "title" => $this->input->post('title'),

        );

        $this->get_db->insert1($newRow);
        echo "Item added ";

        }









}

?>


    <!DOCTYPE HTML>
<html>

<head>
<meta charset="utf-8">
<title>Book Database</title>
</head>

<body>

    <h1>Book Database</h1>

    <?php



        echo form_open('book/book_validation');


        echo "<p>ISBN ";
        echo form_input('isbn');
        echo "</p>";

        echo "<p>Author: ";
        echo form_input('author');
        echo "</p>";

        echo "<p>Price: ";
        echo form_input('price');
        echo "</p>";

        echo "<p>Title: ";
        echo form_input('title');
        echo "</p>";


        echo "<p> ";
        echo form_submit('submit', 'Insert Book');
        echo "</p>";


        echo form_close();
    ?>



    </body>

</html> 

    <?php

class Model_books extends CI_Model {

    public function insert1($data) {


        $this->db->insert("books", $data);

        /*
        if($result) {
            echo $this->db->affected_rows() . "books inserted into database ";
        }

        else {
            echo "Book not added ";
        }
        */
    }
}

?>

最佳答案

需要编辑的函数:

public function insert() {
    $newRow = array("isbn" => $this->input->post('isbn'),
         "author" => $this->input->post('author'),
         "price" => $this->input->post('price'),
         "title" => $this->input->post('title'),
    );

    $this->model_books->insert1($newRow); // NOT get_db, but model_books
    echo "Item added ";

}

其他一切都好。我测试了一下!

关于php - 使用codeigniter在mysql中输入数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14802089/

相关文章:

mysql - 随着现代社交网络和规模的扩大,Cassandra 能否取代 MySQL 等标准关系数据库?

php - 在 codeigniter 中找不到我的核心类 My_head

php - 将字符串截断为字符串的前 n 个字符,如果删除了任何字符,则添加三个点

php - 如何在 CodeIgniter View 中显示数据?

php - Laravel 5.5——经过身份验证的用户和 guest 用户的单独表

javascript - 当谷歌地图标记点移动时用经纬度更新数据库

mysql - 在 rails Controller 中使用名字、姓氏的组合来排序结果

php - CodeIgnighter 的数据库库足以防止 Sql 注入(inject)吗

mysql - 将查询输出到 csv、codeigniter

php - 为什么PDO不显示任何结果?