1. 数据库连接配置
public function index() { //方式一,在cong里配置database //dump(config('database')); //$res = Db::connect(); //方式二、给connect()方法将配置以数组进行传递 /*$res = Db::connect( [ 'type' => 'mysql', 'hostname' => '127.0.0.1', 'database' => 'mysql', 'username' => 'root', 'password' => '1234', 'hostport' => '3306', 'params' => [], 'charset' => 'utf8', 'prefix' => '']);*/ //方式三、配置文件中存在的配置数组 //$res = Db::connect(Config::grt('db_config01')); 或 //$res = Db::connect('db_config01'); //方式四、以dsn字符串 进行连接 $res = Db::connect('mysql://root:[email protected]:3306/mysql#utf8'); dump($res); return $this->fetch(); }
2. wamp的mysql 和本地的mysql
WampServer 安装是不会覆盖以前的MySQL,所以你的机器上会有两个MySQL,那么会存在3306的端口冲突,也就是说你以前的MySQL会正常运行,而新装的会自动被停止,如果你想两个MySQL都使用,那么需要设置新装的MySQL端口和phpmyAdmin连接到MySQL的端口配置就可以;
1,打开WampServer中的MySQL配置 my.ini 可以看到下面一段
[client]
#password = your_password
port = 3306
socket = /tmp/mysql.sock
# Here follows entries for some specific programs
# The MySQL server
[wampmysqld]
port = 3306
socket = /tmp/mysql.sock
将[client]和[wampmysqld]下面的port端口都修改成自己想要的端口,一般建议5000以上,不会和其他程序端口冲突,比如:8806
2,修改完成后保存my.ini,并且在WampServer中重启MySQL,这时MySQL已经能启动了,并且帧听8806端口的数据库连接。
3,现在就是需要修改phpmyadmin的配置文件,让其连接到端口为8806的MySQL数据库,打开C:\wamp\apps\phpmyadmin3.4.5\config.inc.php 文件,用记事本打开查找下面几个部分并修改
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['port'] = '8806';
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = '这里填写你的MySQL密码';
$cfg['Servers'][$i]['AllowNoPassword'] = true;
保存 config.inc.php 后,重启WampServer即可访问 phpmyadmin 了。
这里建议你只安装一个MySQL,备份旧MySQL的数据库,卸载掉旧的MySQL,将原有的数据库转移到新的MySQL就可以,只使用WampServer中的这样也省资源些也不必设置MySQL和phpmyadmin端口了。
3. 数据库查询操作
public function index() { //$res = Db::query('select * from user'); /*$res = DB::execute('insert into user set username = ?,password = ?',[ 'user01', md5('112233') ]);*/ # select 返回所有记录,返回结果是一个二维数组 # 如果 结过不存在,返回一个空数组 //$res = Db::table('user')->select(); # find 只返回一条记录是一个一维数组,默认ID正序排列,返回ID最小的 # 如果结果不存在,返回null //$res = Db::table('user')->find(); # value 只返回一条记录,并且是这条记录的某个字段值 # 如果结果不存在,返回null //$res = Db::table('user')->value('username'); # column 返回一个一维数组,数组中的值就是要获取的列的值 # column 如果存在第二个参数,就返回这个数组,并且用第二个参数的值作为key值,key一样的就合并 # 如果结果不存在就返回空数组 //$res = Db::table('user')->column('user','host'); # Db::name 若配置了表前缀,不用写表前缀 //$res = Db::name('user')->find(); # 没第二参数每次调用都实例化 # 若db('user',fasle),则不再去新实例化 $res = db('user')->find(); dump($res); //return $this->fetch(); }
4. Db update操作,需要 条件,where
$db = Db::name('user'); $res = $db->where(['id'=>2])->update(['username'=>'user03','email'=>'[email protected]']);
setField
$db = Db::name('user'); $res = $db->where(['id'=>3])->setField(['username'=>'user04','email'=>'[email protected]']);
setInc 设置自增,第二个参数为增加的数量
$db = Db::name('user'); $res = $db->where(['id'=>1])->setInc('num',3);
setDec 设置自减,与上类似
5. delete 必须要条件,
一、若以主键为条件,如下写即可
$db = Db::name('user'); $res = $db->delete(3);
二、 可以
$db = Db::name('user'); $res = $db->where(['username'=>'user025'])->delete();