欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

mysql 进阶小知识与类的初识

程序员文章站 2022-03-13 12:35:05
...

mysql 进阶小知识与类的初识

mysql 进阶小知识

  • bindParam 绑定
    mysql 的绑定 除了 bindParam 外还有一个 bindColumn,它可以把 mysql 读取出来的一列数据保存到变量中,然后可以搭配 fetch(PDO::FETCH_ASSOC)对某项内容进行循环遍历
  1. try{
  2. //$pdo最后一个参数中,加入数组array(PDO::MYSQL_ATTR_INIT_COMMAND=>'SET NAMES utf8')可以配置编码格式
  3. $pdo = new PDO('mysql:host=localhost;dbname=test','root','root');
  4. }catch(PDOException $e){
  5. echo '数据库连接失败'.$e->getMessage();
  6. }
  7. $pre = $pdo->prepare('SELECT * FROM `mall_user`');
  8. $exe = $pre->execute();
  9. //把mysql读取出来的一列数据保存到$username变量中
  10. $pre->bindColumn('username',$username);
  11. //取出关联部分,判断如果该值存在则输出循环
  12. while($pre->fetch(PDO::FETCH_ASSOC)){
  13. echo '用户名:'.$username.'<br/>';
  14. }
  • 设置字符集

    有时我们需要给 pdo 设置一个字符集,以防乱码的出现,给 pdo 设置字符集可以用以下两种方式实现

    • \$pdo 最后一个参数中,加入数组 array(PDO::MYSQL_ATTR_INIT_COMMAND=>’SET NAMES utf8’)可以配置编码格式$pdo = new PDO('mysql:host=localhost;dbname=test','root','z1071930401',array(PDO::MYSQL_ATTR_INIT_COMMAND=>'SET NAMES utf8'));

    • 或者单独配置编码格式$pdo->query('SET NAMES utf8');

  • 关闭 pdo 连接
    关闭 pdo 连接有两种方法:

    • 给一个空值$pdo = null;
    • 销毁变量unset($pdo);
  • mysql 统计条数 count
    执行查询语句时,可以加入 count 以统计查询的条数,其中* 也可以替换为字段名

    1. SELECT count(*) FROM `mall_user`;
  • 字段临时重命名 as
    当读取多张表时,字段有可能会有重复,此时可以使用 as 给字段临时重命名

    1. SELECT `username` as uname FROM `mall_user`;

类的初识

  • 类是泛指一类的内容,这一个类中的东西具有相同的一些特性、功能等,但是每个类的个体又是完全独立的。

  • 类的创建使用 class 关键字+类名+{}
    class Teacher{}

  • 将类的个体生成是类的实例化,也就是生成一个对象,使用 new 关键字+类名+括号来生成。
    new Teacher()

  • 类里面可以使用 public 关键字去添加成员变量跟成员方法

  1. class Teacher{
  2. public $name = 'admin';
  3. public function teach(){
  4. echo 'teach php';
  5. }
  6. }
  • 外部访问里面的成员变量跟成员方法使用->符号进行访问
  1. $teacher = new Teacher();
  2. $teacher->$name;
  3. $teacher->teach();
  • 构造函数__construct()
    使用构造函数可以在开始的时候往里传值,保证需要的变量都能有值
  1. class Teacher{
  2. public $name = 'admin';
  3. public function __construct($n){
  4. //$this代表本类,它不仅可以访问本类里的成员变量,还能访问本类里的成员方法
  5. $this->name = $n;
  6. }
  7. }
  • 析构函数__destruct()
    析构函数会在类的所有代码执行完毕后自动调用执行,可以用来做日志记录
  1. class Teacher{
  2. public $name = 'admin';
  3. public function __construct($n){
  4. $this->name = $n;
  5. }
  6. public function __destruct(){
  7. echo '执行完毕';
  8. }
  9. }