首页 > 后端开发 > php教程 > php初学者,thinkphp写数据库问题

php初学者,thinkphp写数据库问题

WBOY
发布: 2016-06-23 14:20:09
原创
832 人浏览过

配置文件
return array(
    'DB_TYPE' => 'mysql',
    'DB_HOST' => 'localhost',
    'DB_NAME' => 'test',
    'DB_USER' => 'root',
    'DB_PWD' => '123456',
    'DB_PORT' => '3306',
    'DB_PREFX' => '',
    'DB_FIELDTYPE_CHECK'    => false,
        'DB_FIELDS_CACHE'       => false,
        'DB_CHARSET'            => 'utf8'
);

控制器类
// 本类由系统自动生成,仅供测试用途
class IndexAction extends Action {
    public function index() {
        $dataTest = new FirstModel();
        $dataTest -> addData();
        $name = "hello thinkphp";
        $this -> assign($name);
        $this -> display();
    }
}

?>

模型类
class FirstModel extends Model {
    protected $fields = array(
        'id', 'cname', 'email', 'indexs', 'btrue', 'created', '_pk'=>'id', '_autoinc'=>true
    );
   
    public function addData() {
        $data = Array();
        $data["cname"] = "aaa";
        $data["email"] = "aaa@sina.com";
        $data["indexs"] = 1;
        $data["btrue"] = 0;
        $data["created"] = time();
        $first = M('First');
        $first -> create($data);
    }
}
?>

数据库名称test,数据表名称first

但是运行后,数据就是添加不进数据库,请各位大侠帮忙看看错在哪里,提前感谢
本人可用分不多,倾囊了。


回复讨论(解决方案)

  $dataTest -> addData(); thinkphp 有addData()这方法吗? 改成  $dataTest -> add();
登录后复制
登录后复制
登录后复制

  $dataTest -> addData(); thinkphp 有addData()这方法吗? 改成  $dataTest -> add();
登录后复制
登录后复制
登录后复制


addData(),这个方法是我自己在模型类里面的写的,我在一楼给出的代码里面也有

我也试过把添加数据库的方法直接写在action控制器类中,不去调用自己在模型类中写的方法,用过add(),也用过create(),但是也写不进去,不知道为什么


  $dataTest -> addData(); thinkphp 有addData()这方法吗? 改成  $dataTest -> add();
登录后复制
登录后复制
登录后复制


addData(),这个方法是我自己在模型类里面的写的,我在一楼给出的代码里面也有

我也试过把添加数据库的方法直接写在action控制器类中,不去调用自己在模型类中写的方法,用过add(),也用过create(),但是也写不进去,不知道为什么 create()只是创建数据和验证,add()才是写放数据库,在addDate()最后面在加一句$first->add($data);

$first->add($data),这个我也试过,也是写不进去

$first = new FirstModel()

$first = M('First')

$first = D('First')

这些实例化的方式,我都试过

$first->create($data)
$first->add($data)
这些方法也都试过,但就是写不进去

$first->add($data),这个我也试过,也是写不进去

 在$first->add($data);后面加一句  $first->getLastSql(); 把打印出来的sql语句发来看下
登录后复制

$firsr->data( $data )->add();
登录后复制


只知道这个

你直接打印出新增的sql,贴出结果瞧瞧。

感谢楼上各位朋友的帮忙,问题已经找到了,根据“fire53”和“zy205817”两位朋友的提示,打印出sql看了后,发现是配置文件中的前缀配置写错了。再次感谢,去结贴了

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板