PHP7如何连接mysql,有哪些方式
Admin 2022-08-20 群英技术资讯 501 次浏览
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->query('set names utf8;'); $result = $pdo->query($sql); $rows = $result->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->set_charset("utf8");或者这样也可以$conn->query("set names utf8;");<pre style="font-family: 'DejaVu Sans Mono'; font-size: 15pt; background-color: rgb(255, 255, 255);">
概念:
有缓存和没有缓存的查询
查询默认使用有缓存的查询。这意味着查询结果马上从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->fetch_assoc()) { echo $row['Name'] . PHP_EOL; } } $uresult->close(); ?>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这篇文章给大家分享的是PHP使用递归来按层级查找数据的内容。小编觉得挺实用的,因此分享给大家做个参考,文中示例代码介绍的非常详细,感兴趣的朋友接下来一起跟随小编看看吧。
一、Socket简介1、socket只不过是一个数据结构。2、使用这个socket数据结构去开始一个客户端和服务器之间的会话。3、服务器是一直在监听准备产生一个新的会话。当一个客户端连接服务器,它就打开服务器正在进行监听的一个端口进行会话。4、服务器端接受客户端的连接请求,那么就进行一次循环。现在这个客户端就能够发送信息到服务器,服务器也能发送信息给客户端。二、Socket变量产
今天小编就为大家分享一篇关于PHP的PDO预处理语句与存储过程,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
yii2如何创建自定义模块?很多新手在学习YII2框架时,对于如何添加自定义模块的方法不是很清楚,下面小编就给大家分享一个YII2添加自定义模块方法的实例,对大家学习有一定的借鉴价值,有需要的朋友可以看一下。
备忘录模式是一种行为型模式,它在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样可以在以后把该对象的状态恢复到之前保存的状态。主...
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008