用php连接数据库,并执行数据库操作

1,建立与数据库之间的连接 (能通过php代码执行一个SQL语句得到查询的结果)

<?php
    mysqli_connect('127.0.0.1' , 'root' , 123456' , 'demo01');

  这里要注意两个问题:

  ①mysqli 是一个额外的扩展,如果想要使用这个扩展提供的函数,必须开启扩展 extension_dir

    在php 的配置文件里解除注释 extension=php mysqli.dll (这里特别提醒,修改php的配置文件之后可以 用 phpinfo()函数看看php的文档中有没有成功解除前面的注释添加 mysqli 这个扩展)

2,判断是否连接成功

<?php
    
    $connection=mysqli_connect('127.0.0.1' , 'root' , '123456' , 'demo01');
    if(! $connection){
         exit ('连接数据库失败');
    }

3,基于刚刚创建的连接对象执行一次查询操作

<?php
    
    $connection=mysqli_connect('127.0.0.1' , 'root' , '123456' , 'demo01');
    if(! $connection){
         exit ('连接数据库失败');
    }

    $query=mysqli_query($connection , 'select * from users;');
    var_dump($query);

  得到的是一个查询对象

  

 

4,这个查询对象可以用来再到数据库中一行一行拿数据

<?php

$connection=mysqli_connect('127.0.0.1', 'root', '123456', 'demo01');

if(!$connection){
    exit('<h1>连接数据库失败</h1>');
}

$query=mysqli_query($connection,'select * from users');

$row=mysqli_fetch_assoc($query);
var_dump($row);

  但是只能拿到一行数据,需要多写几次这段代码才能提取出全部数据,故而涉及到循环

5,循环遍历拿数据

<?php

$connection=mysqli_connect('127.0.0.1', 'root', '123456', 'demo01');

if(!$connection){
    exit('<h1>连接数据库失败</h1>');
}

$query=mysqli_query($connection,'select * from users');

$row=mysqli_fetch_assoc($query);
while($row){
    var_dump($row);
    $row=mysqli_fetch_assoc($query);
}
var_dump($row);

6, 模仿 js 中的 判断,优化循环语句

<?php

$connection=mysqli_connect('127.0.0.1', 'root', '123456', 'demo01');

if(!$connection){
    exit('<h1>连接数据库失败</h1>');
}

$query=mysqli_query($connection,'select * from users');
while ($row=mysqli_fetch_assoc($query)) {
    var_dump($row);
}

7,判断查询失败提示 以及 释放查询结果集、炸桥(关闭连接)

<?php
      $connection = mysqli_connect('127.0.0.1' , 'root' , '123456' , 'demo01' );
       if(!$connection){
           exit ('连接数据库失败');
        }

        $query=mysqli_query($connection , 'select * from users') ;
        if(!$query){
            exit('查询失败');
        }

         //遍历结果集
        while($row = mysqli_fetch_assoc($query)) {
            var_dump($row);
        } 
               
        //释放查询结果集
        mysqli_free_result($query);
        //炸桥、关闭连接
        mysqli_close($connection);

8,增删改数据的查询语句

<?php

$connection=mysqli_connect('127.0.0.1', 'root', '123456', 'demo01');

if(!$connection){
exit('<h1>连接数据库失败</h1>');
}

$query = mysqli_query($connection,'delete from users where id=3;'); //基于刚刚创建的连接对象执行一次查询操作
if(!$query){
exit('查询失败');
}

//如何拿到受影响行
$rowsAccepted = mysqli_affected_rows($connection); //传入的一定是连接对象
var_dump($rowsAccepted);

mysqli_close($connection); //炸桥,关闭连接

 9,PHP中查询数据的编码问题

<?hphp
    
    $connection=mysqli_connect('127.0.0.1' , 'root' , '123456' , 'demo01');
    mysqli_set_charset($connection, ' utf8 ');  //必须在查询对象之前,必须传入连接对象和编码
    //或是 mysqli_query($connection, 'set names utf8;');
   
if(!connection){ exit('连接数据库失败'); } $query=mysqli_query($connection, 'select*from users'); if(!query){ exit('查询失败'); } while($row=mysqli_fetch_assor($query)){ var_dump($row); } mysqli_free_result($query); mysqli_close($connection);

 

posted @ 2019-09-29 22:59  shanlu  阅读(1863)  评论(0编辑  收藏  举报