Database CodeIgniter将0而不是字符串值放入数据库
我正试图用CodeIgniter构建一个小博客,出于某种原因,我将表单数据库条目0而不是字符串。我试着手动把它通过控制器,它工作了。表格中有什么问题Database CodeIgniter将0而不是字符串值放入数据库,database,forms,codeigniter,Database,Forms,Codeigniter,我正试图用CodeIgniter构建一个小博客,出于某种原因,我将表单数据库条目0而不是字符串。我试着手动把它通过控制器,它工作了。表格中有什么问题 <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); class site_model extends CI_Model { var $title = ''; var $content = ''; var $date
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class site_model extends CI_Model {
var $title = '';
var $content = '';
var $date = '';
function __construct()
{
// Call the Model constructor
parent::__construct();
}
function get_records()
{
$query = $this->db->get('posts');
return $query->result();
}
function add_records($data) {
$this->db->insert('posts', $data);
return;
}
function updata_records($data) {
$this->db->where('postID', $id);
$this->db->updata('posts', $data);
}
function delede_roe() {
$this->db->where('postID', $this->uri->segment(3));
$this->db->delete('posts');
}
}
/* End of file welcome.php */
/* Location: ./application/controllers/welcome.php */
标题
内容
控制器:
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class site extends CI_Controller {
/**
* Index Page for this controller.
*
* Maps to the following URL
* http://example.com/index.php/welcome
* - or -
* http://example.com/index.php/welcome/index
* - or -
* Since this controller is set as the default controller in
* config/routes.php, it's displayed at http://example.com/
*
* So any other public methods not prefixed with an underscore will
* map to /index.php/welcome/<method_name>
* @see http://codeigniter.com/user_guide/general/urls.html
*/
public function index()
{
$this->load->view('home');
}
function add_post() {
$this->load->view('add_post');
}
function creata() {
$data = array (
'title' => $this->input->post('title'),
'post' => $this->input->post('content')
);
$this->load->model('site_model');
$this->site_model->add_records($data);
}
}
/* End of file welcome.php */
/* Location: ./application/controllers/welcome.php */
您的控制器功能应该如下所示:
function creata() {
if( $this->input->post(null) ){ //enter if the form is submitted
$data = $this->input->post(null, true); // get all the data of the post
print_r( $data );die; // see the post data
$this->load->model('site_model');
$this->site_model->add_records($data);
$this->session->set_flashdata('msg', 'A msg to show to the user about the insertion');
redirect('site/creata', 'refresh');
}else{ //load the form
$this->load->view('home');
}
}
你的表格看起来不错。您的模型可以包含一个额外的行来查看查询
function add_records($data) {
$this->db->insert('posts', $data);
$this->db->last_query(); die; //check the query it's executing.
return;
}
谢谢你的回复。需要注意的是,该脚本在本地主机上运行良好,只有当我将其上载到服务器时,问题才会出现。我检查了数据库和相同的设置。拟议修正案也无法解决问题。您是否已从url
中删除index.php
?它在服务器上正常工作吗?是的,我添加了一个htaccess文件。一切正常,除了这个表单是的,我从配置文件中的base_url中删除了这个域,结果成功了。谢谢
function add_records($data) {
$this->db->insert('posts', $data);
$this->db->last_query(); die; //check the query it's executing.
return;
}