【php】PHP数据库访问

MySQL命令行进入


方式一:在Windows命令行方式下输入MySQL命令进入

命令格式

MySQL -h主机地址 -u用户名 -p用户密码

-h主机地址:一般是IP地址或域名,如果数据库在本机的话,可以写:如 -h127.0.0.1或者-hlocalhost

-u用户名:为登录数据库的用户名,如root

-p密码:为登录数据库用户的密码。

操作步骤

  1. 进入windows命令行窗口(cmd)
  2. 输入Mysql命令行方式
    在这里插入图片描述

因为默认在当前路径下查找mysql命令,所以要去寻找Mysql路径

  1. 打开资源管理器,复制mysql.exe所处地址
    在这里插入图片描述
  2. 粘贴到cmd中,进入该路径
    在这里插入图片描述
    去掉C:,按下回车
    在这里插入图片描述
  3. 输入mysql语句
    6.

mysql -hlocalhost -uroot -p(密码空直接回车)

  1. 将mysql.exe所在路径设置为系统预先设置好的路径,保障在任意路径下都可以执行mysql命令
    在这里插入图片描述在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    完成,点击确认退出。
    在这里插入图片描述
    成功~

方式二:WAMP的操作菜单中进入

在这里插入图片描述

在这里插入图片描述
成功~

MySQL命令行操作


1 查看数据库:show databases;
2 创建数据库:create database数据库名;
3 选择数据库: use 数据库名称;
4 查看数据库表:show tables;
5 创建一个数据库表,如:create table (name varchar(20), sex char(1));
6 显示表的结构: describe mytable;
7 往表中加入记录,如:insert into mytale values (”Cao Shugui”,”M”);
8 删除记录 ,如:delete from mytable;
9 更新记录,如:update mytable set sex=”f” where name=’Cao Shugui’;
10 删除表,如:drop table mytale;
11删除数据库:drop database 数据库名

phpMyAdmin基本操作


phpMyAdmin 是众多 MySQL图形化管理工具中使用最为广泛的一种,这里主要学习phpMyadmin的基本操作

操作1:打开进入phpMyAdmin
操作2:创建数据库
操作3:创建表结构
操作4:向表中插入记录
操作5:编辑、导出、删除记录
操作6:SQL语句书写并执行
以前都学过。。

PHP连接数据库


很大一部分和之前文章【web前端开发】数据库MySQL在开发环境的操作重复,接下来只讲不同之处。

不同于之前的连接方式

    <?php
        //way1
        $conn=mysqli_connect("localhost","root","","mydemo");

        if(!$conn)
        
        {
            die("数据库连接失败".mysqli_connect_error());
        }
        echo "数据库连接成功";     
        
        
        //way2
        $conn=mysqli_connect("localhost","root","","mydemo")or die("数据库连接失败");

        echo "数据库连接成功"; 
    ?>

数据库连接的语法格式可以是:

mysqli_connect(“主机”, “用户名”, “密码”,”数据库名”)
密码无:则不填
数据库名
在这里插入图片描述

PHP执行SQL语句


PHP下执行SQL语句的格式:

mysqli_query (连接标识符,SQL语句);

修改字符集:

mysqli_query($conn,‘set names utf8’); //告诉服务器,本页面的字符集是utf8

1.插入语句insert

$conn=mysqli_connect("localhost","root","111111","mydb") or die("数据库连接失败");

echo "数据库连接成功";



mysqli_query($conn,'set names utf8'); //告诉服务器,本页面的字符集是utf8



$sql="insert into student(stu_no,stu_name,sex,birthdate,telephone,email) values('17010105','王平','男','1998-05-01','18806547811','wangping@qq.com')";



$result=mysqli_query($conn,$sql)or die("数据插入失败".mysqli_error($conn));

echo "数据插入成功";

2.记录修改语句update
3.记录删除语句delete
格式同上:

$sql=……
$result=mysqli_query($conn,$sql)

mysqli_fetch_row记录集获取


前言

mysqli_fetch_row:可以从记录集中提取当前行数据到一个索引数组中,数组以数字为索引,或者说以数字为键

获取一行数据到数组

<?php

    $conn=mysqli_connect("localhost","root","","mydemo") or die("数据库连接失败");

    mysqli_query($conn,'set names utf8');

    $sql="select * from stu";//原来是stu这里。。

    $result=mysqli_query($conn,$sql)or die("数据查询失败");

    $row=mysqli_fetch_row($result);

    print_r($row);

    $row=mysqli_fetch_row($result);

    print_r($row);


?>

在这里插入图片描述

循环打印所有记录-print_r方式

    $conn=mysqli_connect("localhost","root","","mydemo") or die("数据库连接失败");

    mysqli_query($conn,'set names utf8');



    $sql="select * from stu";

    $result=mysqli_query($conn,$sql)or die("数据查询失败");

    while($row=mysqli_fetch_row($result))

    {

        print_r($row);

    }

在这里插入图片描述

循环-直接显示元素值

    $conn=mysqli_connect("localhost","root","","mydemo") or die("数据库连接失败");

    mysqli_query($conn,'set names utf8');



    $sql="select * from stu";

    $result=mysqli_query($conn,$sql)or die("数据查询失败");

    while($row=mysqli_fetch_row($result))

    {

        echo "$row[0],$row[1],$row[2],$row[3],$row[4],$row[5]";

        echo "<br/>";

    }


在这里插入图片描述

mysqli_fetch_assoc记录集获取


mysqli_fetch_assoc:可以从记录集中提取数据到一个关联数组中,以记录集中的字段为键

获取记录集到关联数组

        $conn=mysqli_connect("localhost","root","","mydemo") or die("数据库连接失败");

        mysqli_query($conn,'set names utf8');

        $sql="select * from stu";

        $result=mysqli_query($conn,$sql)or die("数据查询失败");

        $row = mysqli_fetch_assoc($result);
        print_r($row);

        $row = mysqli_fetch_assoc($result);
        print_r($row);

在这里插入图片描述
和 mysqli_fetch_row + 循环输出不同之处:

此时键为各类的名称,而mysqli_fetch_row键为数字

循环处理记录集数据

        $conn=mysqli_connect("localhost","root","","mydemo") or die("数据库连接失败");

        mysqli_query($conn,'set names utf8');
    
        $sql="select * from stu";
    
        $result=mysqli_query($conn,$sql)or die("数据查询失败");
    
        while($row=mysqli_fetch_assoc($result))
    
        {
    
            echo "$row[stu_no],$row[stu_name],$row[gender],$row[telephone],$row[age],$row[college]";
    
            echo "<br/>";
    
        }

在这里插入图片描述

与上面的方法输出一致

foreach显示各元素

        $conn=mysqli_connect("localhost","root","","mydemo") or die("数据库连接失败");

        mysqli_query($conn,'set names utf8');

        $sql="select * from stu";

        $result=mysqli_query($conn,$sql)or die("数据查询失败");

        while($row=mysqli_fetch_assoc($result))

        {

            foreach($row as $k=>$v)

                {

                    echo $v;

                    if($k!="email")echo ",";

                }

            echo "<br/>";

        }

在这里插入图片描述

mysqli_fetch_array记录集获取


生成的数组既有数字索引,又有关联键名

把重复出现的语句写在conn.php中了,后面都用 require "conn.php"引出

	require "conn.php";
	$conn=mysqli_connect("localhost","root","","mydemo") or die("数据库连接失败");

    mysqli_query($conn,'set names utf8');

    $sql="select * from stu";

    $result=mysqli_query($conn,$sql)or die("数据查询失败");

获取数组

        require "conn.php";

        $row=mysqli_fetch_array($result);
        print_r($row);

两种数组都生成了
在这里插入图片描述

循环-数字索引

require "conn.php";

while($row=mysqli_fetch_array($result))

{

    $cols=count($row)/2;

    for($i=0;$i<$cols;$i++)

    {

         echo $row[$i];

         if($i<$cols-1)echo ",";

    }

    echo "<br/>";

}

花里胡哨的。。while里面的逻辑同下:

echo "$row[0],$row[1],$row[2],$row[3],$row[4],$row[5]";

echo "<br/>";

在这里插入图片描述
循环-关联键名

 		require "conn.php";      
 		
        while($row=mysqli_fetch_array($result))

        {

            foreach($row as $k=>$v)

                {
                    if(!is_numeric($k)){
                        echo $v;
                        if($k!="email")echo ",";
                    }
                    
                }

            echo "<br/>";

        }

在这里插入图片描述

逻辑同上,但是不同之处在于if(!is_numeric($k)),去掉则每个数据都打印两遍,你懂的。。

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值