如何使用CodeIgniter将表单值插入MySQL数据库

4

我是Codeigniter的新手。如何使用Codeigniter将表单值存储在MySQL中?有人能帮我吗?是否有相关链接可提供?

谢谢您提前。


1
CI 没有文档吗? - PeeHaa
3个回答

14

让我以简单明了的方式向您解释...

这将是您的控制器

class Site extends CI_Controller
{
function index()
{
$this->load->view('form.php');// loading form view
}

function insert_to_db()
{
$this->load->model('site_model');
$this->site_model->insert_to_db();
$this->load->view('success');//loading success view
}
}

这将是您的视图。在创建视图之前,请转到autoload.php并自动加载url助手和数据库类。 在您的config.php中设置config ['base_url'] =“您网站的路径”; form.php

<form action="<?php echo base_url();?>index.php/site/insert_into_db" method="post">
Field 1 = <input type = 'text' name='f1'>
Field 2 = <input type = 'text' name='f2'>
Field 3 = <input type = 'text' name='f3'>
<input type='submit'>
</form>

success.php

<b>Your data has been inserted!!!</b>
在您的模型中,您需要以这种方式提取表单数据并将其插入到数据库中:
site_model.php
class Site_model extends CI_Model
{
function insert_into_db()
{
$f1 = $_POST['f1'];
$f2 = $_POST['f2'];
$f3 = $_POST['f3'];
$this->db->query("INSERT INTO tbl_name VALUES('$f1','$f2','$f3')");
}
}
在这种情况下,您的数据库有三个字段... 根据您的要求修改查询。

+1 感谢您的回答。我正在尝试运行它,但是屏幕一直是空白的。您能帮助我吗? - Naveen
你的配置肯定有问题... 请设置以下设置以使用上述过程... 在你的 application/config/autoload.php 文件中 => $autoload['libraries'] = array('database'); $autoload['helper'] = array('url'); 如果你没有使用 htaccess 或路由文件,则在 URL 中放置完整的 URL,例如 http://baseURL/index.php/controller/function。 - Anwar
我将路由文件更改为以下内容 $route['default_controller'] = "Site"; - Naveen
最终数据插入表中。 - Naveen
更新?您是指更新数据库表格吗?如果我没错的话,只需使用 $this->db->query("UPDATE tbl_name SET field1 = '..', field2 = '..' WHERE conditions"); 还有其他方法...但这对于初学者来说很简单。 - Anwar
显示剩余9条评论

1

0

浏览数据库类。它包含了所有用于操作数据库的函数。如果你真的想学习CodeIgniter,请花几个小时阅读用户指南


@Aadam,我读了但是没有完全理解,请你帮我一下。 - Naveen
我能看一下你有的模型/视图/控制器吗? - Adam
我遵循http://net.tutsplus.com/tutorials/php/codeigniter-basics/,但我想创建一个简单的表单,如果我提交该表单值,则将其存储到数据库中... - Naveen
@Anwar 发布了一个很棒的答案。 - Adam
Anwar发布了代码$this->site_model->insert_to_db();,但我不明白这个函数。它显示错误“404页面未找到”。你能帮我吗? - Naveen

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接