thinkphp 对数据库的操作

查看ThinkPHP完全开发手册3.1

首先编辑配置文件

thinkphp这个数据库就不乱改了

昨天新建了一个 confluence(utf8)数据库

所以就用它学习一下吧,因为就只建立了一个数据库,还没有表,可能和手册里的情况不太一样,到时候再百度一下吧

<?php
return array(
    //‘配置项‘=>‘配置值‘
    //‘USERNAME‘=>‘admin‘, //赋值
    //数据库配置信息
        ‘DB_TYPE‘   => ‘mysql‘, // 数据库类型
        ‘DB_HOST‘   => ‘localhost‘, // 服务器地址
        ‘DB_NAME‘   => ‘confluence‘, // 数据库名
        ‘DB_USER‘   => ‘root‘, // 用户名
        ‘DB_PWD‘    => ‘root‘, // 密码
        ‘DB_PORT‘   => 3306, // 端口
        ‘DB_PREFIX‘ => ‘think_‘, // 数据库表前缀
        //其他项目配置参数
        // ...
);
?>

CURD操作

创建(Create)、更新(Update)、读取(Read)、删除(Delete)

大概看了一下,具体到字段了,对于表或列没有讲解,我也没仔细看。。。

就字段了。。。

使用示例如下:

  1. $User = M("User"); // 实例化User对象
  2. $data[‘name‘] = ‘ThinkPHP‘;
  3. $data[‘email‘] = ‘[email protected]‘;
  4. $User->add($data);

我把控制器改成了这样

<?php
// 本类由系统自动生成,仅供测试用途
class IndexAction extends Action {
    public function index(){
        //echo ‘hello world‘;
        //echo C(‘username‘);
        //$this->display();
        $User = M("user"); // 实例化User对象
$data[‘name‘] = ‘ThinkPHP‘;
$data[‘email‘] = ‘[email protected]‘;
$User->add($data);
    }
}

运行

报错

Access denied for user ‘root‘@‘localhost‘ (using password: NO)

错误位置

FILE: D:\WWW\myapp\ThinkPHP\Lib\Driver\Db\DbMysql.class.php  LINE: 58

ThinkPHP3.1.3 { Fast & Simple OOP PHP Framework } -- [ WE CAN DO IT JUST THINK ]

百度一下

说是密码错了,修改了一下‘这个符号后就不报错了

看下数据库

什么也没有

修改一下代码,好像是逻辑不对。。。

又重新修改了一下符号

echo下hello 到底运行了没?

hello出来了

表前缀。。。加个think_

好了。。。终于弄好了。。。心烦意乱的。。。

重新捋一下

先先构架数据库

先配置

再从控制器里引入M语法,直接就操作admin表了,这就是模型

好了。。。

conflu。。。这个库下面是think_admin表

think_admin表下面有一个列,这个列以admin命名

列中有我刚添加的数据888880000。。。

$User = M("admin"); // 实例化admin对象,对think_admin这个表

$data[‘admin‘] = ‘888880000‘;//对应admin这个列

时间: 2024-07-29 05:23:59

thinkphp 对数据库的操作的相关文章

thinkphp对数据库操作有哪些内置函数

原文:thinkphp对数据库操作有哪些内置函数 getModelName() 获取当前Model的名称 getTableName() 获取当前Model的数据表名称 switchModel(type,vars=array()) 动态切换模型 table() 设置当前操作的数据表 field() 设置要查询的数据字段 where() 设置查询或者操作条件 data(data) 设置数据对象 order(order) 设置排序 limit(limit) 查询限制 page(page) 查询分页 j

Mysql数据库常用操作

1.备份数据库 [[email protected] ~]# mysqldump -h 192.168.0.8 -uroot  -p'123456'  user >user.sql 2.查看mysql数据库字符集设置 mysql> show variables like 'character_set_%';+--------------------------+----------------------------+| Variable_name            | Value    

使用 SQLiteOpenHelper 对数据库进行操作

SQLiteOpenHelper 是android提供的一个帮助类,这个类是抽象的,通过实现这个类,可以帮助开发者实现对SQLITE数据库的创建以及数据库版本管理,使用SQLiteOpenHelper打开数据库如果数据库存在则不创建,如果不存在则创建它(此时执行的是onCreate方法). public DatabaseHelper(Context context, String name, CursorFactory factory, int version) 第一个参数:Context类型,

Android-Sqlite数据库的操作

设置增删改查的按钮,xml界面布局设置 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="

JDBC增删改数据库的操作

JDBC入门及简单增删改数据库的操作 一.JDBC的引入 1.JDBC的概念 JDBC:Java Database Connection,表示数据库连接(任何数据库都支持JDBC的连接),是一个独立于特定数据库管理系统.通用的sql数据库存取和操作的公共接口.它是java中专门提供的一组用于操作数据库的标准,所有的数据库生产商如果要是想为java提供支持,则必须支持此标准.既然是标准的话,所以说JDBC实际上是一套访问数据库的接口. 2.常用操作类/接口 Connection接口.Stateme

bottle框架学习(八)之Mysql数据库的操作

MySQLdb 是用于Python连接Mysql数据库的接口. 安装MySQLdb [[email protected] bottle]# yum install MySQL-python –y 如果使用编译安装请到这里下载安装包https://pypi.python.org/pypi/MySQL-python并执行以下命令 [[email protected] bottle]# gunzip  MySQL-python-1.2.3.tar.gz [[email protected] bottl

mysql数据库表操作及授权

表操作:增删改查 把/etc/passwd文件的内容导入 passwd表里. mysql>load data infile"/etc/passwd" into table passwd fields terminated by ":"; 基于前面的passwd表,完成下列操作: 1:列出uid低于500且3个字母的用户 mysql> select name from passwd where uid<500 and name like "

(四)SQL入门 数据库的操作与事务管理

数据库的操作,有三个最基本的语句,insert插入,update修改,delete删除. 不同的数据库厂商的实现可能不同,所以就不说具体的语法怎么写的了.说语法也没有意义,到处都可以复制粘贴,记得听某个视频,里面说,当程序员很简单,就是Ctrl+C,Ctrl+V. 知道了数据库操作的三个基本操作,下面说说一个新的名词.事务. 什么是事务呢?之前我在绵阳去新的地方上班的时候,那个时候,那个时候,我还不知道什么是事务,现在上班的地方有个同事毕业半年多了,已经转正了,貌似也不知道.这个名称呢,听上去会

Thinkphp入门 二 —空操作、空模块、模块分组、前置操作、后置操作、跨模块调用(46)

原文:Thinkphp入门 二 -空操作.空模块.模块分组.前置操作.后置操作.跨模块调用(46) [空操作处理] 看下列图: 实际情况:我们的User控制器没有hello()这个方法 一个对象去访问这个类不存在的方法,那么它会去访问”魔术方法__call()” 用户访问一个不存在的操作—>解决:给每个控制器都定义个_empty()方法来处理 第二个解决方法:定义一个空操作 [空模块处理] 我们使用一个类,但是现在这个类还没有被include进来. 我们可以通过自动加载机制处理__autoloa