登录  /  注册
首页 > 后端开发 > PHP7 > 正文

讲解php7连接mysql数据库

coldplay.xixi
发布: 2021-02-25 09:46:46
转载
2698人浏览过

讲解php7连接mysql数据库

推荐(免费):php7/" target="_blank">PHP7

   php 5 的使用者可以使用 mysql extension,mysqli 和 pdo_mysql 。php 7移除了mysql extension,只剩下后面两种选择.

   这份文档解释了每个API 的术语,帮助我们如何使用API 和了解相关API的信息。

  PHP 提供了三种不同的API去连接mysql数据库。下面的示例代码展示了3种不同连接mysql数据库的方式。

/*
 * mysqli
 * 数据库地址,登陆账号,密码,数据库名称
 */
    $mysqli = new mysqli("localhost", "root", "", "student");
    $sql = "SELECT * FROM tb_user";
    $result = $mysqli->query($sql);
    $row = $result->fetch_assoc(); // 从结果集中取得一行作为关联数组
    echo $row["password"];
    /* free result set */
    $result->free();

    /* close connection */
    $mysqli->close();
登录后复制
    /*
     * 第一个参数是mysql:host,第二是dbname,第三个账户名,第四个密码
     */
    try {
        $pdo = new PDO("mysql:host=localhost;dbname=student", "root", "");
    } catch (PDOException $e) {
        echo 'Connection failed: ' . $e->getMessage();
    }
    $sql = "select * from tb_user";
    echo $sql . "<br>";
    $pdo-&gt;query('set names utf8;');
    $result = $pdo-&gt;query($sql);
    $rows = $result-&gt;fetchAll();
    foreach ($rows as $row) {
        $username = $row[1];
        $pwd = $row[2];
        echo $username;
    }
登录后复制

我们推荐使用mysqli或者PDO_Mysql拓展,不推荐在新开发中使用老的mysql拓展,因为它在PHP5.5.0中不再使用并且在PHP7.0中被移除。

设置编码很重要,是utf8而不是uft-8

$conn-&gt;set_charset("utf8");或者这样也可以$conn-&gt;query("set names utf8;");<pre class="brush:php;toolbar:false">
登录后复制

概念:

有缓存和没有缓存的查询

查询默认使用有缓存的查询。这意味着查询结果马上从Mysql服务器发送到PHP,然后被保存在php解析器内存中。这允许额外的操作像计算行数,移动或者寻找当前的结果指针。它也允许在同样的连接和结果集上进一步查询。缓存模式不好的一面是大的结果集可能需要很大的内存,这些内存一直占用直到结果集被清除或者被释放,这是在请求结束自动进行的。术语存储结果就是用来表示缓存模式,所有结果集马上被保存。

没有缓存的Mysql查询被执行,马上返回一个资源,数据一直等待mysql服务器被连接获取。这是用了更少的内存在php一方,但这回增加服务器的负载。直到所有的结果集从服务器被取走且没有发送建立在同一个连接上的查询。没有缓存的查询也被称为使用结果。

从这些特性可以看出,缓存查询用在当你只希望得到一个有限的结果集和或者在读取结果集前知道返回结果集的行数。没有缓存的查询模式用在当你要返回大量的数据。

因为默认是缓存查询模式,下面的例子将会验证如何去执行没有缓存的查询API。

<?php $mysqli  = new mysqli("localhost", "my_user", "my_password", "world");
$uresult = $mysqli->query("SELECT Name FROM City", MYSQLI_USE_RESULT);

if ($uresult) {
   while ($row = $uresult-&gt;fetch_assoc()) {
       echo $row['Name'] . PHP_EOL;
   }
}
$uresult-&gt;close();
?&gt;
登录后复制

以上就是讲解php7连接mysql数据库的详细内容,更多请关注php中文网其它相关文章!

智能AI问答
PHP中文网智能助手能迅速回答你的编程问题,提供实时的代码和解决方案,帮助你解决各种难题。不仅如此,它还能提供编程资源和学习指导,帮助你快速提升编程技能。无论你是初学者还是专业人士,AI智能助手都能成为你的可靠助手,助力你在编程领域取得更大的成就。
相关标签:
来源:CSDN网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
关于CSS思维导图的课件在哪? 课件
凡人来自于2024-04-16 10:10:18
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2024 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号