当前位置:   article > 正文

【php】PHP数据库访问_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 "数据库连接成功"; 
    ?>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

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

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 "数据插入成功";
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

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

$sql=……
$result=mysqli_query($conn,$sql)
  • 1
  • 2

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);


?>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20

在这里插入图片描述

循环打印所有记录-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);

    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

在这里插入图片描述

循环-直接显示元素值

    $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/>";

    }


  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21

在这里插入图片描述

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);
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

在这里插入图片描述
和 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/>";
    
        }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

在这里插入图片描述

与上面的方法输出一致

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/>";

        }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25

在这里插入图片描述

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("数据查询失败");
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

获取数组

        require "conn.php";

        $row=mysqli_fetch_array($result);
        print_r($row);
  • 1
  • 2
  • 3
  • 4

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

循环-数字索引

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/>";

}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21

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

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

echo "<br/>";
  • 1
  • 2
  • 3

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

 		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/>";

        }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

在这里插入图片描述

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/558039
推荐阅读
相关标签
  

闽ICP备14008679号