面包屑思维模型实战模型错题集结构手册流程手册自我检测专题模块

  • 微信小程序前端
    微信小程序前端易错点收集
    查看
  • css/less/sass样式控制
    在开发过程中的一些样式控制bug规避
    查看
  • tp5开发小程序
    tp5开发小程序时错误积累
    查看
  • PHP错题集
    PHP在实际开发过程中遇到的问题
    查看
  • MySql数据库
    使用MySql在实际开发中遇到的错误总结
    查看
  • TP5错题集
    积累tp5框架在实际开发过程中遇到的问题
    查看
  • uni-app爬坑
    主要用于uni-app项目中遇到的一些问题
    查看
  • Vue.js易错收集
    vue.js项目常见错误收集整理
    查看
  • uni-app开发微信小程序
    uni-app开发微信小程序的一些爬坑积累
    查看
  • Linux
    Linux在部署、开发、运维时遇见的错误积累
    查看
  • 安全设计
    常见安全设计
    查看
  • Redis
    项目中使用redis的相关错误积累
    查看
  • 前端特效
    前端特效相关错题集
    查看
more

最新博文

  • yii2和tp链式查询时where的区别

    yii2

    tp中,链式查询可多个where同时使用,例如

    $res=User::where('id','>','10')->where('isDel',0)->select();

    yii2中,链式查询多个where同时使用时,从第二个where开始使用andWhere,例如

    $res=User::find()->where('id','>','10')->andWhere('isDel',0)->all();



    风口下的猪2023-03-15yii2

    阅读更多
  • yii2连接sqlsever的一些注意点 (windows解法)

    yii2

    yii2连接sqlsever一般会出现以下问题:

    (1)php没有装sqlsrv扩展;

    (2)软件运行的操作系统,没有装ODBC Driver驱动;

    (3)项目代码中配置连接sqlsever的dsn写法不对(不能照着官方的写)


    一.php依据版本安装对应的sqlsrv扩展


    (1)先新建一个可访问php文件,查看php详情及扩展

    <?php    echo phpinfo();?>


         

    如果PDO中没有sqlsrv就需要安装sqlsrv扩展


    (2)下载php版本对应的sqlserv.exe,通过sqlserv.exe生成扩展文件

    sqlserv.exe下载地址https://docs.microsoft.com/en-us/sql/connect/php/release-notes-php-sql-driver?view=sql-server-2017#previous-releases

    如图,如果是php7.4的就下载5.8版本

    点击执行下载的sqlsrv.exe生成扩展到选择的文件夹


    (3)将生成的扩展php_pdo_sqlsrv_XX_nts_x64.dll和php_sqlsrv_XX_nts_x64.dll拷贝到php/ext目录下


    (4)在php.ini中加入动态库并开启扩展配置

    extension=php_pdo_sqlsrv_73_nts_x64.dll

    extension=php_sqlsrv_73_nts_x64.dll


    二.安装ODBC驱动

    ODBC Driver 11 For SQL (msodbcsql.msi),注意是64还是86位

    驱动下载地址:https://www.microsoft.com/en-us/download/details.aspx?id=36434

    点击安装即可。



    二.项目代码中配置db连接,common/config/main-local.php中db的dsn写法调整

    如果执行

    报错:Error:SQLSTATE[IMSSP]: An invalid keyword 'host' was specified in the DSN string

    多半是dsn写法错误

    我之前的以下写法直接报host字段错误

    sqlsrv:host=localhost;dbname=mydatabase


    正确的规范写法如下:

    • MySQL, MariaDB: mysql:host=localhost;dbname=mydatabase
    • SQLite: sqlite:/path/to/database/file
    • PostgreSQL: pgsql:host=localhost;port=5432;dbname=mydatabase
    • CUBRID: cubrid:dbname=demodb;host=localhost;port=33000
    • MS SQL Server (via sqlsrv driver): sqlsrv:Server=localhost;Database=mydatabase
    • MS SQL Server (via dblib driver): dblib:host=localhost;dbname=mydatabase
    • MS SQL Server (via mssql driver): mssql:host=localhost;dbname=mydatabase
    • Oracle: oci:dbname=//localhost:1521/mydatabase

    eg:

     'db_gbq' => [
                'class' => 'yii\db\Connection',
                'dsn' => 'sqlsrv:server=13.4534.635.12,1433;database=测试',
                'username' => 'ddddds',
                'password' => 'ttttter',
                'charset' => 'utf8'
            ],




    风口下的猪2023-03-15yii2

    阅读更多
  • yii2实现多个不同数据库连接

    yii2

    yii2的多数据库连接,主要是两个部分main-local连接配置模型申明哪个数据库连接


    1.在common/config/main-local中设置多个db

    return [
        'components' => [
            //线上
            'db' => [
                'class' => 'yii\db\Connection',
                'dsn' => 'mysql:host=rm-wz9d7t51392x5543n7o.mysql.rds.aliyuncs.com;dbname=equity',
                'username' => 'equity',
                'password' => 'lI4oZ8mO0w',
                'charset' => 'utf8',
                'tablePrefix' => 'jdc_'
            ],
            //贵扁鹊业绩数据源
            'db_gbq' => [
                'class' => 'yii\db\Connection',
                'dsn' => 'sqlsrv:server=47.109.42.163,1433;database=测试',
                'username' => 'gzh',
                'password' => 'ASDqwe123',
                'charset' => 'utf8'
            ],


    不同的数据库连接写法遵循以下

    MySQL, MariaDB: mysql:host=localhost;dbname=mydatabase
    SQLite: sqlite:/path/to/database/file
    PostgreSQL: pgsql:host=localhost;port=5432;dbname=mydatabase
    CUBRID: cubrid:dbname=demodb;host=localhost;port=33000
    MS SQL Server (via sqlsrv driver): sqlsrv:Server=localhost;Database=mydatabase
    MS SQL Server (via dblib driver): dblib:host=localhost;dbname=mydatabase
    MS SQL Server (via mssql driver): mssql:host=localhost;dbname=mydatabase
    Oracle: oci:dbname=//localhost:1521/mydatabase


    2.在要使用的模型中使用getDb()申明连接的数据库

    public static function getDb(){
            return Yii::$app->get('db_gbq');
        }




    风口下的猪2023-03-15yii2

    阅读更多
  • DBeaver连接数据库

    软件开发

    开发过程中,如果想看数据库的结构和数据,可以不用将sql导出来,可以通过远程连接查看。DBeaver就是这样的一个工具

    DBeaver支持mysql、sqlsever等多个类型数据库




    风口下的猪2023-03-15软件开发

    阅读更多
  • GithubDesktop的提交变更内容到分支

    软件开发

    GithubDesktop提交一个版本到代码仓管,需要经历以下几个步骤:

    (1)将代码整体clone到本地(可以理解为建立联系)

    即存储库-->添加-->克隆存储库,在tab选项中选择URL,填上gitHub的地址和本地接收代码的文件夹地址,确定克隆到本地。

    (2)在克隆项目代码中,替换变动的代码内容,让GithubDesktop识别出来

    需要注意的是项目文件夹中的gitignore文件,该文件申明了哪些文件变动,不会被GithubDesktop识别。这样有效的保护了一些配置文件不被随意修改

    (3)建立分支,提交到分支

    分支的命名最好规范,即 提交人-功能模块-时间 三段式




    风口下的猪2023-03-15软件开发

    阅读更多
  • yii2模型删除数据

    yii2

    方法一

    //删除数据
    $user = User::find()->where(['id' => 1])->one();// 获取id为1的数据
    $user->delete();//删除数据

    方法二

    $uer = User::find()->where(['id' => 2])->all();// 获取id为2的数据
    $data = $user[0]->delete();//删除数据

    方法三

    $user = User::deleteAll('id=2');//删除id为2的数据

    方法四

    //多个条件删除
    $data = User::deleteAll('id>:id AND num<:num', [':id' => 2,':num' => 100]);

    方法五

    //删除所有数据
    $user = User::deleteAll();



    风口下的猪2023-03-14yii2

    阅读更多
  • yii2模型修改数据

    yii2

    方法一

    $user = $User::findOne($id);
    $user->name = 'Peak2';
    $data = $user->update();// 修改
    $data = $user->save();// 修改

    方法二

    // 将值进行 累加 或者 累减
    // $count = 1, 就是加一
    // $count = -1, 就是减一
    $data = Uesr::updateAllCounters(['sort' => $count], ['id' => $id]);// 参数1为要修改的字段,参数2为修改条件
    // 参数都是固定值

    方法三

    // 参数都是固定值
    Uesr::updateAll(['status' => 1],['status' => 0,'flag' => 1]);
    // 参数有范围值
    Uesr::updateAll(['status' => 1],['and', ['status' => 0],['<>', 'flag', 1]]);



    风口下的猪2023-03-14yii2

    阅读更多
  • yii2模型增加数据

    yii2

    yii2中模型增加数据,需要经历new模型、模型属性赋值、数据保存三个步骤

    1.new一个模型

    $user = new User();

    2.模型属性赋值

    方式一

    $user->name = 'Peak';
    $user->age = '18';

    方式二

    $data = [
        'name' => 'Peak',
        'age' => 18
    ];
    $user->attributes = $data;

    方式三

    $data = [
        'name' => 'Peak',
        'age' => 18
    ];
    $user->setAttributes($data);

    方式四

    $data = [
        'name' => 'Peak',
        'age' => 18
    ];
    $user->load($data, '');
    if ($user->validate()) {// 数据校验
        $user->save();
    }

    3.数据保存

    $user->save();// 添加数据
    $user->insert();// 添加数据
    $id = $user->attributes['id'];// 获取当前添加数据后的自增id



    Tip


    对load()方法解读:

    通过查看load()方法可知,load()方法有两个参数,第一个参数 $data 是要填充的数据,第二个参数 $formName 是选择指定的模型

    如果第二个参数不传,$formName 会默认为null,会默认取当前模型$this->formName()

    如果指定了模型,会将模型名称作为key值,通过 $data[$formName] 取值,也就是这时候应该传的 $data 格式是:

    $data = [
        'User' => [
            'name' => 'Peak',
            'age' => 18
        ]
    ];

    如果 $formName 传空字符串,则 $data 传递参数格式为:

    $data = [
        'name' => 'Peak',
        'age' => 18
    ];




    风口下的猪2023-03-14yii2

    阅读更多
  • PHP – 如何使用 bcsub() 函数从另一个中减去一个任意精度数?

    PHP

    在 PHP 中,bcsub()数学函数用于从另一个数字中减去一个任意精度的数字。该bcsub()函数将两个任意精度的数字作为字符串,并在将结果缩放到确定的精度后给出两个数字的减法。


    语法

    string bcsub ($num_str1, $num_str2, $scaleVal)

    参数

    该bcsub()数学函数接受三个不同的参数$num_str1,$num_str2 和 $scaleVal。

    $num_str1 -它代表左操作数,它是字符串类型参数。

    $num_str2 -它代表正确的操作数,它是字符串类型参数。

    $scaleVal -它是可选的整数类型参数,用于设置结果输出中小数点后的位数。它默认返回零值。

    返回值

    该bcadd()数学函数返回两数相减$num_str1 和 num_str2,作为一个字符串。


    示例 1 -bcsub()不使用 $scaleVal 参数的 PHP 函数

    <?php
       // 说明 bcadd() 函数的 PHP 程序
       // 使用任意精度的两个输入数字
       $num_string1 = "10.555";
       $num_string2 = "3";
       // 计算添加
       // 两个没有 $scaleVal 参数的数字
       $result = bcsub($num_string1, $num_string2);
       echo "没有 scaleVal 的输出是: ", $result;
    ?>

    输出结果

    没有 scaleVal 的输出是: 7



    如果没有$scaleVal参数,该bcsub()函数会丢弃输出中的小数点。

    示例 2 -bcsub()使用 $scaleVal 参数的 PHP 函数

    在这种情况下,我们将使用scaleVal为 3的相同输入值。因此,输出值将显示小数点后 3 位数字。

    <?php
       // 说明 bcsub() 函数的 PHP 程序
       // 使用任意精度的两个输入数字
       $num_string1 = "10.5552";
       $num_string2 = "3";
       //使用比例值 3
       $scaleVal = 3;
       // 计算添加
       // 两个没有 $scaleVal 参数的数字
       $result = bcsub($num_string1, $num_string2, $scaleVal);
       echo "scaleVal 的输出是: ", $result;
    ?>

    输出结果

    scaleVal 的输出是: 7.555



    风口下的猪2023-03-14PHP

    阅读更多
  • 理解yii2模型中findOne()、findAll()

    yii2

    Yii的查询搜索函数find findAll findOne:find就是返回结果 findone就是返回一条数据 findall就是返回所有数据

    1.findOne()

    $b = A::findOne(['id'=>$a]);

    相当于$b = A::find()->Where ( [ ' id ' => " $a " ] )->one();

    2.findAll()

    $buildingObject = Building::findAll(['id'=>[18,19],'status'=>1]);

    相当于$buildingObject = Building::find()->where(['id'=>[18,19]])->andWhere(['status'=>1])->all();


    查询

    通过 yii\db\ActiveRecord::find() 方法创建一个新的查询生成器对象;


    多少个:与find结合使用

    all():将返回一个由行组成的数组,每一行是一个由名称和值构成的关联数组(译者注:省略键的数组称为索引数组)。

    one():返回结果集的第一行。

    column():返回结果集的第一列。

    scalar():返回结果集的第一行第一列的标量值。

    exists():返回一个表示该查询是否包结果集的值。

    count():返回 COUNT 查询的结果。


    组合查询

    yii\db\ActiveRecord::findOne():返回一个 Active Record 实例,填充于查询结果的第一行数据。

    yii\db\ActiveRecord::findAll():返回一个 Active Record 实例的数据,填充于查询结果的全部数据。



    风口下的猪2023-03-14yii2

    阅读更多
  • yii2模型中块赋值$model -> attributes = $data;

    yii2

    其表现形式是$model -> attributes = $data

    特点:适用于模型数据大量操作时刻减少代码量,简洁美观,便于后期优化

    例如:

    数据表字段:id,name,passwd,gender,create_at,update_at

    $data = [
        'name'=>'jack',
        'passwd'=>123456,
        'gender'=>'男',
        'created_at'=>12345678,
        'updated_at'=>123456
    ];
     
    $model = new User();
    //块赋值
    $model -> attributes = $data;
    //特定字段重新赋值
    $model -> passwd = md5($data['passwd']);
    $model -> gender = $data['gender'] == '男'? 1 : 0;
     
    print_r($model->toArray());

     结果:

    array = [
        'name' => 'jack',
        'passwd' => 'wtyuirt3456789fghjjsdfg'  //md5后的结果,
        'gender' => 1,    //处理后的结果
        'created_at' => 12345678,
        'updated_at' => 123456
    ];




    风口下的猪2023-03-14yii2

    阅读更多
  • 软件开发
  • 素质要求
  • 计算机基础
  • 架构
  • 安全
  • 性能
  • 运维
  • 尾页
  • 数据库
  • 开发终端
  • 语言基础
  • 项目管理
  • 产品设计
  • 系统
  • 工作规范
  • 计算机网络
  • 前端技术栈
  • 数据结构
  • 计算机组成原理
  • 后端技术栈
  • 性能优化
  • 安全设计
  • 常见模块
  • 计算机操作系统
  • 服务器
  • python
  • MySQL
  • thinkphp
  • PHP
  • Java
  • JavaScript
  • Windows
  • Linux
  • 特效
  • indexedDB
  • vue
  • 淘宝联盟
  • Ionic
  • Angular
  • 微信小程序
  • 支付宝小程序
  • uni-app
  • css/sass/less
  • 支付
  • socket
  • 爬虫
  • web性能优化
  • 消息推送
  • CVM
  • sqlite
  • Redis
  • 前端基础
  • 基础
  • element
  • Nginx
  • yii2
  • /ponder/index/catelist/catelist/cateid/10.html

    我的名片

    网名:风口下的猪

    职业:软件开发、广告传媒

    现居:重庆渝北

    Email:kamoneyte@qq.com

    标签云

    站点信息

    • 文章统计:528篇
    • 移动端访问:扫码进入SQ3R