目录

创建数据库 表article

1.创建库表

CREATE TABLE `article` (
`article_id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT 'article_id',
`article_title` varchar(255) NOT NULL DEFAULT '',
PRIMARY KEY (`article_id`)
) ENGINE=MyISAM AUTO_INCREMENT=6 DEFAULT CHARSET=utf8;

2.添加几条数据供测试用

配置 db.php 连接数据库

D:\phpStudy\WWW\yii\config\db.php


return [
'class' => 'yii\db\Connection',
'dsn' => 'mysql:host=114.67.230.000;dbname=yii',
'username' => 'root',
'password' => '000000',
'charset' => 'utf8', // Schema cache options (for production environment)
//'enableSchemaCache' => true,
//'schemaCacheDuration' => 60,
//'schemaCache' => 'cache',
];

创建控制器 HomeController.php

D:\phpStudy\WWW\yii\controllers\HomeController.php

<?php
/**
* Created by Haima.
* Author:Haima
* QQ:228654416
* Date: 2018/9/3
* Time: 10:30
*/ namespace app\controllers; use app\models\Article;
use yii\base\Controller; class HomeController extends Controller
{
//用属性的方法定义父模板
//会自动加载D:\phpStudy\WWW\yii\views\layouts\home.php文件
public $layout = 'home';
public function actionIndex()
{
$request = \Yii::$app->request; // 方法一:普通的查询方式(会有SQL注入的危险)
// $article_id = $request->get('article_id',1);
// $sql = 'select * from article where article_id =' . $article_id;
// $article = Article::findBySql($sql)->all(); // 方法二:预处理,防SQL注入
$article_id = $request->get('article_id', 1);
$sql = "select * from article where article_id = :article_id"; //预处理,防SQL注入 :article_id占位符
$article = Article::findBySql($sql, [':article_id' => $article_id])->all();
dump($article);die; //会自动加载父模板 D:\phpStudy\WWW\yii\views\layouts\home.php
return $this->render('index');
}
}

创建models

D:\phpStudy\WWW\yii\models\Article.php

<?php
namespace app\models; use yii\db\ActiveRecord; class Article extends ActiveRecord
{ }

访问效果:

http://yii.com/?r=home/index&article_id=4

14-15.Yii2.0模型的创建/读取数据使用,框架防止sql注入的更多相关文章

  1. [MISS静IOS开发原创文摘]-AppDelegate存储全局变量和 NSUserDefaults standardUserDefaults 通过模型保存和读取数据,存储自定义的对象

    由于app开发的需求,需要从api接口获得json格式数据并保存临时的 app的主题颜色 和 相关url 方案有很多种: 1, 通过AppDelegate保存为全局变量,再获取 2,使用NSUSerD ...

  2. yii2.0使用ActionForm创建表单

    文本框:textInput(); 密码框:passwordInput(); 单选框:radio(),radioList(); 复选框:checkbox(),checkboxList(); 下拉框:dr ...

  3. YII2.0 用GII创建视图文件后访问404

    使用GII的CRUD Generator创建searchModelClass 和控制器类文件,视图文件后,访问控制器地址后出现404的情况. 创建过程如图所示 后来发现是控制器类 Controller ...

  4. 15.Yii2.0框架where单表查询

    目录 新建控制器 HomeController.php 新建model article.php 新建控制器 HomeController.php D:\xampp\htdocs\yii\control ...

  5. Yii2.0中文开发向导——删除数据

    直接 model 删除 $model = User::find($id); $model->delete(); 带有条件的删除 $connection ->createCommand() ...

  6. mongoDB3.0版本使用express读取数据

    使用express连接数据库操作 var express = require('express'); var app = express(); var MongoClient = require('m ...

  7. yii2.0在model里自定义数据表

    无需多言,直接撸代码 class Zhuanjia extends \yii\db\ActiveRecord { public static function tableName() { return ...

  8. Mybatis3.0防止SQL注入

    一.什么是SQL注入 引用搜狗百科: SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令,比如很多影视网站泄露VIP会员密码大 ...

  9. netty源码解解析(4.0)-14 Channel NIO实现:读取数据

     本章分析Nio Channel的数据读取功能的实现. Channel读取数据需要Channel和ChannelHandler配合使用,netty设计数据读取功能包括三个要素:Channel, Eve ...

随机推荐

  1. redis之进阶

    redis之进阶   redis redis介绍 redis的功能特性 1,高速读写 2,数据类型丰富 3,支持持久化 4,多种内存分配及回收策略 5,支持事务 6,消息队列.redis用的多的还是发 ...

  2. [Java]基本数据类型及其封装类总结

    九种基本数据类型的大小,以及他们的封装类 类型 字节 默认值 封装类 byte 1 0 Byte char 2 null Character int 4 0 Integer long 8 0 Long ...

  3. hdu5884

    #include <cstdio> #include <queue> #include <algorithm> #include <string.h> ...

  4. linux网卡软中断shell脚本

    LANG=C;export LANG;  service irqbalance stop >/dev/null 2>&1;chkconfig irqbalance off; bon ...

  5. hbase按照时间戳删除记录

    1.按照时间戳范围查询记录 echo "scan 'event_log', { COLUMN => 'cf:sid', TIMERANGE => [1466265600272, ...

  6. linux 环境下备份oracle 数据库

    登陆linux后,进入oracle的安装目录下,找到bin那个目录,进入bin目录ls -l 看这些命令的所有者: su - oracle这时会进入这个用户的主目录/home/oracle,此时,可以 ...

  7. 如何检查linux 下是否安装java(jdk)环境

    大家可通过下面五条命令来查看linux 系统是否安装了java 环境 1.java -version 2.which java 3.rpm -qa |grep java 4.echo $PATH 5. ...

  8. Java基础语法(自定义类、ArrayList集合)

    Java基础语法 今日内容介绍 u 自定义类 u ArrayList集合 第1章 引用数据类型(类) 1.1 引用数据类型分类 提到引用数据类型(类),其实我们对它并不陌生,如使用过的Scanner类 ...

  9. HTML5 JSDOM

    1,HTML5 新语义化标签 - nav -- 表示导航 - header -- 表示页眉 -- 头部 - section -- 表示区块 -- 类似于div - main -- 文档主要内容 - a ...

  10. python发送邮件 示例

    示例1 import smtplib from email.mime.text import MIMEText from email.header import Header def sedmail( ...