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:1234@127.0.0.1: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'=>'123456@qq.com']);
setField
$db = Db::name('user');
$res = $db->where(['id'=>3])->setField(['username'=>'user04','email'=>'123456@qq.com']);
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();