php初学者,thinkphp写数据库问题
程序员文章站
2022-04-22 22:01:37
...
配置文件
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
但是运行后,数据就是添加不进数据库,请各位大侠帮忙看看错在哪里,提前感谢
本人可用分不多,倾囊了。
addData(),这个方法是我自己在模型类里面的写的,我在一楼给出的代码里面也有
我也试过把添加数据库的方法直接写在action控制器类中,不去调用自己在模型类中写的方法,用过add(),也用过create(),但是也写不进去,不知道为什么
addData(),这个方法是我自己在模型类里面的写的,我在一楼给出的代码里面也有
我也试过把添加数据库的方法直接写在action控制器类中,不去调用自己在模型类中写的方法,用过add(),也用过create(),但是也写不进去,不知道为什么 create()只是创建数据和验证,add()才是写放数据库,在addDate()最后面在加一句$first->add($data);
只知道这个
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 json_encode有关问题
下一篇: php类和对象--重载