用户
 找回密码
 入住 CI 中国社区
搜索
查看: 3982|回复: 14
收起左侧

[已解决] 数据无法插入,求帮助,谢谢!

[复制链接]
发表于 2012-2-2 19:22:29 | 显示全部楼层 |阅读模式
PHP复制代码
控制器代码:      function content()
        {
                $this->load->model('Mhome');
                $data['category']=$this->Mhome->get_category();
                $data['title']='CI开发新闻发布系统';
                $data['get_article_content']=$this->Mhome->get_article_content($this->uri->segment(3));
                $this->load->view('header',$data);
                $this->load->view('content',$data);
                $this->load->view('footer',$data);
        }
        function comment_ok()
        {
 
                if ($this->input->post('submit')){
                        $this->load->model(Mhome);
                        $query=$this->Mhome->insert_comment();
                       
                }
        }
复制代码



模型代码:
PHP复制代码
        function insert_comment()
        {
                $content=$this->input->post('comment_content');
                $article_id=$this->input->post('article_id');
                $author=$this->input->post('comment_author');
                $query=$this->db->query("INSERT INTO comments('id','article_id','content','author','last_date')
                VALUES('','$article_id','$content','$author','now()')"
);
                return $this->db->affected_row();
        }
复制代码



View页面:
PHP复制代码
    <!-- Cols -->
    <div class="cols">
      <div class="cl">&nbsp;</div>
      <!-- Col -->
      <div class="col">
      <?php foreach ($get_article_content as $row):?>
        <h3 class="tabarticle"><span class="ico ico1"><?php echo $row->title ?> </span></h3>
        <div class="entry">
         <p>
                       作者:<em><?php echo $row->author?></em> 时间:<i><?php $row->last_date?></i></br>
         <?php echo $row->content;?>
         </p>
         
         
        </div>
      </div>
      <!-- End Col -->
      <div>
      <form method="post" action="<?php echo site_url('home/comment_ok')?>">
      <p><label>评论人:</label><input type="text" name="comment_author"/></p>
      <p><textarea row="5" cols="55" name="comment_content"></textarea></p>
      <p><input type="submit" value="提交" </p>
      <input type="hidden" name="article_id" value="<?php $row->id?>">
      </form>
          </div>
<?php endforeach;?>
      <div class="cl">&nbsp;</div>
    </div>
    <!-- End Cols -->
复制代码
 楼主| 发表于 2012-2-2 19:24:57 | 显示全部楼层
添加数据库如下,数据库配置是正确的。


-- phpMyAdmin SQL Dump
-- version 3.4.5
-- http://www.phpmyadmin.net
--
-- 主机: localhost
-- 生成日期: 2012 年 02 月 02 日 11:23
-- 服务器版本: 5.5.16
-- PHP 版本: 5.3.8

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
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 utf8 */;

--
-- 数据库: `news`
--

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

--
-- 表的结构 `article`
--

CREATE TABLE IF NOT EXISTS `article` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `category_id` int(11) NOT NULL,
  `recommend` tinyint(1) NOT NULL,
  `title` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
  `content` text CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
  `source` varchar(50) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
  `author` varchar(10) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
  `last_date` date NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=4 ;

--
-- 转存表中的数据 `article`
--

INSERT INTO `article` (`id`, `category_id`, `recommend`, `title`, `content`, `source`, `author`, `last_date`) VALUES
(1, 1, 1, '欢迎使用 CodeIgniter', 'CodeIgniter 是一套给 PHP 网站开发者使用的应用程序开发框架和工具包。它提供一套丰富的标准库以及简单的接口和逻辑结构,其目的是使开发人员更快速地进行项目开发。使用 CodeIgniter 可以减少代码的编写量,并将你的精力投入到项目的创造性开发上。', '网络', 'CI', '2012-02-01'),
(2, 2, 1, 'URI 类', 'URI类提供了帮助你分割URI字符串的函数集合。如果你使用URI路由功能,那么你就可以通过分段来重新分发地址栏信息。\r\n\r\n注意: URI类会被系统自动初始化,不必手动启用该功能。', '网络', 'CI', '2012-02-01'),
(3, 3, 1, '那么 CodeIgniter 就是你所需要的,如果...', '你想要一个小巧的框架。\r\n你需要出色的性能。\r\n你需要广泛兼容标准主机上的各种 PHP 版本和配置。\r\n你想要一个几乎只需 0 配置的框架。\r\n你想要一个不需使用命令行的框架。\r\n你想要一个不需坚守限制性编码规则的框架。', '网络', 'CI', '2012-02-01');

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

--
-- 表的结构 `category`
--

CREATE TABLE IF NOT EXISTS `category` (
  `category_id` int(11) NOT NULL AUTO_INCREMENT,
  `category_name` varchar(50) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
  PRIMARY KEY (`category_id`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=4 ;

--
-- 转存表中的数据 `category`
--

INSERT INTO `category` (`category_id`, `category_name`) VALUES
(1, '文档'),
(2, '联系'),
(3, '关于');

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

--
-- 表的结构 `comments`
--

CREATE TABLE IF NOT EXISTS `comments` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `article_id` int(11) NOT NULL,
  `content` text CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
  `author` varchar(50) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
  `last_date` date NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=2 ;

--
-- 转存表中的数据 `comments`
--

INSERT INTO `comments` (`id`, `article_id`, `content`, `author`, `last_date`) VALUES
(1, 1, '不错不错', 'Andy', '2012-02-01');

/*!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 */;
发表于 2012-2-2 21:14:27 | 显示全部楼层
你觉得要别人看这么多现实么?
$this->load->model(Mhome, '模型别名', TRUE);
第三个参数打开数据库你没弄。
发表于 2012-2-3 08:26:22 | 显示全部楼层
有趣!

定义是:

SQL复制代码
 
CREATE TABLE IF NOT EXISTS `comments` (
  `id` INT(11) NOT NULL AUTO_INCREMENT,
.
.
.
 
复制代码


执行时:
PHP复制代码
 
$query=$this->db->query("INSERT INTO comments('id','article_id','content','author','last_date')
                VALUES('','$article_id','$content','$author','now()')"
);
 
复制代码


我是数据库亦不知如何处理!
 楼主| 发表于 2012-2-3 12:50:57 | 显示全部楼层
ci_phper_mj 发表于 2012-2-2 21:14
你觉得要别人看这么多现实么?
$this->load->model(Mhome, '模型别名', TRUE);
第三个参数打开数据库你没 ...

不需要打开的吧,上面的模型调用都没有打开一样可以的啊,我测试了你的说法是不行的。


谢谢!!!
 楼主| 发表于 2012-2-3 12:51:34 | 显示全部楼层
燃雲 发表于 2012-2-3 08:26
有趣!

定义是:

怎么了有问题吗?数据库你没有复制全吧!!!
发表于 2012-2-3 13:51:39 | 显示全部楼层
<?php $row->last_date?>  这句错了。。。
你少了 echo  -_-
 楼主| 发表于 2012-2-3 14:54:39 | 显示全部楼层
Hex 发表于 2012-2-3 13:51
这句错了。。。
你少了 echo  -_-

谢谢!  Hex   时间输出OK了,但是数据插入还是不行,不知道哪里出问题了,请指教谢谢!
发表于 2012-2-3 15:48:40 | 显示全部楼层
309090518 发表于 2012-2-3 14:54
谢谢!  Hex   时间输出OK了,但是数据插入还是不行,不知道哪里出问题了,请指教谢谢! ...

你的 now() 去掉单引号。。。。。
写东西切记要仔细。
 楼主| 发表于 2012-2-4 13:46:40 | 显示全部楼层
去掉了还是不行啊!

本版积分规则