PHP day6 DB数据库操作

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();

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值