Heim > Backend-Entwicklung > PHP-Tutorial > php初学者,thinkphp写数据库问题

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

WBOY
Freigeben: 2016-06-23 14:20:09
Original
832 Leute haben es durchsucht

配置文件
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();
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

  $dataTest -> addData(); thinkphp 有addData()这方法吗? 改成  $dataTest -> add();
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren


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

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


  $dataTest -> addData(); thinkphp 有addData()这方法吗? 改成  $dataTest -> add();
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren


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语句发来看下
Nach dem Login kopieren

$firsr->data( $data )->add();
Nach dem Login kopieren


只知道这个

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

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

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage