php和mysql数据库

小编 2026-06-10 阅读:952 评论:0
说明:         php版本: PHP 7.3.0         mysql数据库的版本:mysql  Ver 8.0.13 for Win64 on x86_64         系统环境...

说明:

        php版本: PHP 7.3.0

        mysql数据库的版本:mysql  Ver 8.0.13 for Win64 on x86_64

        系统环境: windows 7 ,64位

一、php中的配置

     在 php\\\\php.ini 文件中,配置“;extension=mysqli” ,将最前面“;”去掉,将等号右边改为“ext/php_mysqli.dll”文件所在的绝对路径,比如,作者的配置如下:

extension=F:/ApatchInstallWorkspace/dev/servers/php/ext/php_mysqli.dll

二、mysql 使用注意

mysql 8 版本默认使用的plugin是 “caching_sha2_password”,而php 7 不识别这种模式,要将其改为:

“mysql_native_password”。

更改方式如下(修改密码):

alter user \'php\'@\'%\' identified with mysql_native_password by \'php@world\';

mysql> use mysql;
Database changed
mysql> select user,plugin from user;
+------------------+-----------------------+
| user             | plugin                |
+------------------+-----------------------+
| php              | mysql_native_password |
| mysql.infoschema | caching_sha2_password |
| mysql.session    | caching_sha2_password |
| mysql.sys        | caching_sha2_password |
| root             | mysql_native_password |
+------------------+-----------------------+
5 rows in set (0.00 sec)

三、php操作mysql

   3.1 操作mysql数据,这里使用 mysqli (mysql_* 函数在php 7 中已经移除)

<?php
    //连接数据库
    // mysql_ 这种方法在php7中已经移除,改为连接数据库
    # mysql_* functions have been removed in PHP 7
   /*
    $con = mysql_connect(\"localhost\",\"php\",\"world\");
    if(!$con){
        die(\"could not connect: \". mysql_error());
    }
    mysql_close($con);
    */
    # 从老的mysql拓展迁移,面向过程
    /*
    $mysqli = mysqli_connect(\"localhost\",\"php\",\"php@world\",\"php_db\");

    $res = mysqli_query($mysqli, \"select \'Please, do not use \' as _msg from dual\");
    $row = mysqli_fetch_assoc($res);
    echo $row[\'_msg\'];
    */

    # 面向过程和面向对象的方法

    // 面向过程
    $mysqli = mysqli_connect(\"localhost\",\"php\",\"php@world\", \"php_db\");
    if(mysqli_connect_errno($mysqli)){
        echo \"Failed to connect to MySql: \".mysqli_connect_error();
        return;
    }
    $res = mysqli_query($mysqli,\"select \'A world full of\' as _msg from dual\");
    $row = mysqli_fetch_assoc($res);
    echo $row[\"_msg\"].\"<br>\";
    mysqli_close($mysqli);

    // 面向对象
    $mysqli_o = new mysqli(\"localhost\",\"php\",\"php@world\",\"php_db\");
    if($mysqli_o ->connect_errno){
        echo \"Failed to connect Mysql: \".$mysqli_o ->connect_errno;
        return;
    }
    $res_o = $mysqli_o ->query(\"select \'object-oriented interface\' as _msg from dual\");
    $row_o = $res_o->fetch_assoc();
    echo $row_o[\"_msg\"].\"<br>\";

    $mysqli_o->close();

    echo \"<p>特殊的localhost</p>\";
    $mysqli01 = new mysqli(\"localhost\",\"php\",\"php@world\",\"php_db\");
    if($mysqli01->connect_errno){
        echo \"Failed to connect MySql (\".$mysqli01->connect_errno.\") \".$mysqli01->connect_error;
    }
    echo $mysqli01->host_info .\"\\n\";
    $mysqli01->close();
    
    $mysqli02 = new mysqli(\"127.0.0.1\",\"php\",\"php@world\",\"php_db\");
    if($mysqli02->connect_errno){
        echo \"Failed to connect MySql (\".$mysqli02->connect_errno.\") \".$mysqli02->connect_error;
    }
    echo $mysqli02->host_info .\"\\n\";
    $mysqli02->close();

    echo \"<p>执行语句</p>\";
    $mysqli03 = new mysqli(\"localhost\",\"php\",\"php@world\",\"php_db\");
    if($mysqli03->connect_errno){
        echo \"Failed to connect Mysql [\".$mysqli03->connect_errno.\"]\".$mysqli03->connect_error;
    }


    $drop_str = \"drop table if exists php_test\";
    $create_str = \"create table if not exists php_test(id int,name varchar(50))\";
    $insert_str = \"insert into php_test(id,name) values(0,\'aaa\'),(1,\'bbbb\'),(2,\'ccc\'),(3,\'ddd\')\";

    # 删除表
    $drop_result = $mysqli03->query($drop_str);
    echo \"drop table:\".$drop_result.\"<br>\";
    if(!$drop_result){
        echo \"Failed (\".$mysqli03->errno.\") :\".$mysqli03->error;
        return;
    }
    # 创建表
    $create_result = $mysqli03->query($create_str);
    echo \"create table: $create_result <br>\";
    if(!$create_result){
        echo \"Failed (\".$mysqli03->errno.\") :\".$mysqli03->error;
        return;
    }
    # 插入数据
    $insert_result = $mysqli03->query($insert_str);
    echo \"insert: $insert_result\";
    if(!$insert_result){
        echo \"Failed (\".$mysqli03->errno.\") :\".$mysqli03->error;
        return;
    }
    # 查询数据
    $select_result = $mysqli03->query(\"select id,name from php_test\");
    print_r($select_result);
    echo \"<br>\";
    # 遍历结果,第一种遍历方法
    echo \"<p>第一种遍历方法:</p>\";
    for($row_no=0; $row_no<$select_result->num_rows;$row_no++){
        $select_result->data_seek($row_no);
        $rows = $select_result->fetch_assoc();
        foreach($rows as $key=>$value){
            echo \"$key:$value \";
        }
        echo \"<br>\";
    }

    # 遍历查询结果,第二种遍历方法
    //$select_result = $mysqli03->query(\"select id,name from php_test\");
    $select_result->data_seek(0);
    echo \"<p>第二种遍历方法:</p>\";
    while($row=$select_result->fetch_assoc()){
        echo \" id= \".$row[\"id\"].\" name=\".$row[\"name\"];
        echo \"<br>\";
    }
    echo \"<br>\";

    # 关闭连接
    $mysqli03->close();
    
?>

 

版权声明

本文仅代表作者观点,不代表百度立场。
本文系作者授权百度百家发表,未经许可,不得转载。

上一篇:Q#开发环境搭建 下一篇:Java的nanoTime()
热门文章
  • 机房智能化温湿度解决方式之POE供电以太网温湿度传感器

    机房智能化温湿度解决方式之POE供电以太网温湿度传感器
    机房智能化温湿度解决方式之POE供电以太网温湿度传感器 北京盈创力和电子科技有限公司 智能型TCP网口温湿度记录仪 北京IP网络温湿度记录仪厂家,北京盈创力和 北京智能型TCP网口温湿度记录仪IP网络温湿度记录仪是一种新型的基于TCP/IP协议双绞线以太网标准温湿度采集模块,利用它可以实现现场温度值、相对湿度值的采集,同时利用其自身的RJ45通信接口可以方便地和机房监控主机或交换机集线器进行联网。 工作于-40℃~85℃工业级带...
  • Sequential Monte Carlo Methods (SMC) 序列蒙特卡洛/粒子滤波/Bootstrap Filtering

    Sequential Monte Carlo Methods (SMC) 序列蒙特卡洛/粒子滤波/Bootstrap Filtering
    Problem Statement 我们考虑一个具有马尔可夫性质、非线性、非高斯的状态空间模型(State Space Model):对于一个时间序列上的观测结果{yt,t∈N}\\{ y_t , t \\in N \\}{yt​,t∈N},我们认为每个观测结果yty_tyt​的生成依赖于一个无法直接观察的隐变量xt∈{xt,t∈N}x_t \\in \\{x_t , t \\in N \\}xt​∈{xt​,t∈N},即:p(...
  • HTTP状态保持的原理

    HTTP状态保持的原理
    a)在用户登录之后,浏览器返回响应的时候会在响应中添加上cookieb)浏览器接收到cookie之后会自动保存c)当用户再次请求同一服务器中的其他网页的时候,浏览器会自动带上之前保存的cookied)服务接收到请求之后可以请 request 对象中取到cookie 判断当前用户是否登录  Http是无状态的,就是连接时数据互通,关闭后...
  • Hive 系统函数及示例

    Hive 系统函数及示例
    查看所有系统函数 show functions; 函数分类 内置函数【系统函数】 数学函数: floor、round、ceil、cos、log2等 字符串函数: length、reverse、trim、lower、get_json_object、repeat等 收集函数: size 转换函数: cast 日期函数: year、month、datediff、date、date_add等 条件函数: coalesce、case…w...
  • CSRF的原理和防范措施

    CSRF的原理和防范措施
    a)攻击原理:i.用户C访问正常网站A时进行登录,浏览器保存A的cookieii.用户C再访问攻击网站B,网站B上有某个隐藏的链接或者图片标签会自动请求网站A的URL地址,例如表单提交,传指定的参数iii.而攻击网站B在访问网站A的时候,浏览器会自动带上网站A的cookieiv.所以网站A在接收到请求之后可判断当前用户是登录状态,所以...
标签列表