Blogger Information
Blog 36
fans 1
comment 0
visits 32459
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
PHP类与对象_MYSQL链接_2018年08月29日
宋超的博客
Original
548 people have browsed it

一:什么类,什么是对象?

类是对某一类事物的抽象描述,而对象用于表示现实中该类事物的个体。
类:类是对象的抽象,描述一组对象的共同特征和行为(如汽车)。类中可以定义成员变量和成员方法,成员变量用于描述对象的特征,也称作属性(如车的颜色,大小,*牌,价格),成员方法用于描述对象的行为,可简称方法(汽车的油耗,时速,制动距离等)

对象:对象用于表示现实中该类事物的个体,如奥迪Q7宝马X6等是具体的对象,有各自属于自身的优势属性。

二、实例化对象

demo3实例

<?php
error_reporting(E_ALL);
require 'class/car3.php';
$buycar = new car3('bmw','22','blcak',[1700,1500,1400]);
echo $buycar->brand,'<br>';
echo $buycar->price,'<br>';
echo $buycar->color,'<br>';
echo print_r($buycar->size,'true'),'<br>';
echo $buycar->kw;

运行实例 »

点击 "运行实例" 按钮查看在线实例

CAR3.PHP实例

<?php
/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2018/9/1
 * Time: 下午 09:51
 */
class car3
{
    //访问控制: private
    //car牌
    private $brand;
    //价格
    private $price;
    //颜色
    private $color;
    //尺寸
    private $size = [];
    //属性收集器
    private $data = [];

    //声明构造方法:对象属性初始化 类实例化自动调用
    public function __construct($brand,$price,$color,array $size){
        //private 访问符限制的属性仅可在当前对象内部使用
        $this->brand = $brand;
        $this->price = $price;
        $this->color = $color;
        $this->size = $size;
    }
    //创建对外访问的公共接口
    //类中用双下划线的方法是系统定义,由系统自动调用,叫魔术方法
    public function __get($name){
        $msg = null;
        if(isset($this->$name)){
            $msg = $this->$name;
        }elseif(isset($this->$data[$name])){
            $msg = $this->data[$name];
        }else{
            $msg = '无'.$name.'属性';
        }
        return $msg;
    }
    //设置器
    public function __set($name,$value){
        $this->$name = $value;
    }

}

运行实例 »

点击 "运行实例" 按钮查看在线实例

pet4.PHP实例

<?php
/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2018/9/2
 * Time: 上午 09:20
 */

class pet
{
    //访问控制private
    private $name;
    //年龄
    private $age;
    //价格
    private $price;
    //体积 长宽高
    private $volume=[];

    //属性收集器
    private $data=[];
    //声明构造方法:对象属性初始化 类实例化自动调用
    public function __construct($name,$age,$price,array $volume){
        $this->name = $name;
        $this->age = $age;
        $this->price = $price;
        $this->volume = $volume;
    }

    //对外访问公共接口
//    类中用双下划线方法是系统定义的,由系统自动调用 魔术方法或重载
    public function __get($name)
    {
       //判断调用属性是否存在
        $var = null;
        if(isset($this->$name))
        {
            $var = $this->$name;
        }elseif(isset($this->data[$name]))
        {
            $var = $this->data[$name];
        }else
            {
            $var = $name.'不存在';
        }
        return $var;
    }
    //设置器
    public function __set($name, $value){
        $this->$name = $value;
    }

}

运行实例 »

点击 "运行实例" 按钮查看在线实例

demo4.PHP

<?php
/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2018/9/2
 * Time: 上午 09:43
 */

require('class/pet4.php');
$pet = new pet('dog',2,1000,[1.4,0.7,1.3]);
echo $pet->name,'<br>';
$pet->name = 'cat';
echo $pet->age,'<br>';
echo $pet->pig,'<br>';
echo $pet->price,'<br>';
echo print_r($pet->volume,true);

运行实例 »

点击 "运行实例" 按钮查看在线实例

三、sql语句

(1)增加 INSERT INTO 
INSERT INTO `table_name` (字段列表) VALUES (对应值列表);
INSERT `staff` (`name`, `sex`, `age`, `salary`) VALUES ('小1', 1 , 23, 3333)INSERT IGNORE `staff` (`name`, `sex`, `age`, `salary`) VALUES ('小1', 1 , 23, 3333); // IGNORE 关键字忽略重复数据针对name字段 因为name 索引设置为UNIQUE

(2)更新  UPDATE 
UPDATE `table_name`  SET `column_name` = `new_value`  WHERE `column_name` = some_value;
UPDATE `staff` SET `age` = 33 WHERE `id` = 5;
UPDATE `staff` SET `age`=23,`salary`=111 WHERE `id` < 5;

(3)删除 DELETE FROM
DELETE FROM `table_name` WHERE `column_name` = some_value; //DELETE 语句必需得加条件,不然就清空数据了
DELETE FROM `staff` WHERE `salary` = 111;
DELETE FROM `staff` WHERE `salary` > 2000;

(4)查询 SELECT
SELECT column_name(s) FROM `table_name`;
SELECT * FROM `staff` WHERE `salary` < 2000;//查询工资少于2000的
SELECT COUNT(*) AS TJ FROM `staff` WHERE `salary` < 2000; // 统计少于2000的人数 COUNT(*)

四.mysql数据库链接

config.php

<?php
/**
 * 配置文件
 */
$db_host='127.0.0.1';
$db_user='root';
$db_pass='admin';
$db_name='php';
$db_charset='utf8';

$db=[
    'host' => '127.0.0.1',
    'user' => 'root',
    'pass' => 'admin',
    'name' => 'php',
    'charset' => 'utf8',
];
$db2=[
    'host'=>'127.0.0.1',
    'user'=>'root',
    'pass'=>'admin',
    'name'=>'php2',
    'charset'=>'utf8',
];
$db3=[
    'host'=>'127.0.0.1',
    'user'=>'root',
    'pass'=>'admin',
    'name'=>'php3',
    'charset'=>'utf8',
];

运行实例 »

点击 "运行实例" 按钮查看在线实例


 

demo实例

<?php
/**数据库链接*/
//创建一个数据库链接,并返回mysqli对象
require_once 'config.php';
error_reporting(E_ALL);
//简化:将连接参数转为变量或数组
$mysqli = new mysqli($db['host'],$db['user'],$db['pass'],$db['name']);
//print_r($mysqli);
//判断链接成功?
if($mysqli->connect_errno){
    //自定义错误提示信息
    die('链接错误'.$mysqli->connect_errno.':'.$mysqli->connect_error);
}
echo '<h1>链接成功</h1>';
//设置默认数据库
//$mysqli->select_db($db['name']);

//设置客-户端默认的字符编码集
$mysqli->set_charset($db['charset']);

//将默认数据库连接时,直接通过构造方法传入

运行实例 »

点击 "运行实例" 按钮查看在线实例

手抄sql和mysqli的方法参数:
微信图片_20180902152312.jpg微信图片_20180902152304.jpg

微信图片_20180902152304.jpg

总结

  1. 类和对象学习.

  2. sql基本的CURD 操作

  3. 用mysqli类实例化对象连接数据库

Correction status:Uncorrected

Teacher's comments:
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post