博客列表 >PHP类与对象_MYSQL链接_2018年08月29日

PHP类与对象_MYSQL链接_2018年08月29日

宋超的博客
宋超的博客原创
2018年09月02日 15:29:36547浏览

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

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

对象:对象用于表示现实中该类事物的个体,如奥迪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类实例化对象连接数据库

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议