php如何链接数据库
2019-12-09 11:29:32

今天我们来搞一搞php,php如何链接数据库,让你从前端走入php的坑。
为什么要搞一搞PHP,安安静静的做个切图仔不好吗?首先,会一点点PHP遇到那种脾气不好,技术有很菜的的后端,这个时候你就可以开怼了。twemoji-1f602 开开玩笑。好了不开玩笑了,就是为了自己能搞点小东西,不用找人问来问去的,自己会总比不会好是吧。

首先了解一下链接数据库有几种方式,他有这两种 MySQLi 和 PDO。

这时候就有个疑问了,那我是该用 MySQLi ,还是 PDO?
如果你需要一个简短的回答,即 “你习惯哪个就用哪个”。

MySQLi 和 PDO 有它们自己的优势:

PDO 应用在 12 种不同数据库中, MySQLi 只针对 MySQL 数据库。

所以,如果你的项目需要在多种数据库中切换,建议使用 PDO ,这样你只需要修改连接字符串和部分查询语句即可。 使用 MySQLi, 如果不同数据库,你需要重新编写所有代码,包括查询。

两者都是面向对象, 但 MySQLi 还提供了 API 接口。

两者都支持预处理语句。 预处理语句可以防止 SQL 注入,对于 web 项目的安全性是非常重要的。

进入主题,上代码:

/* 数据库主机名称 */
$db_host = '127.0.0.1';
/* 数据库用户帐号 */
$db_user = 'root';
/* 数据库用户密码 */
$db_passw = 'root';
/* 数据库具体名称 */
$db_name = 'root';

$conn = new PDO("mysql:host={$db_host};dbname={$db_name}", $db_user, $db_passw);
// 检测连接
if ($conn->connect_error) {
    die("连接失败: " . $conn->connect_error);
} 
//正式使用的时候去掉这个哦,因为链接成功了就会执行下面的代码,所以这个可以不要。
echo "连接成功";
//设置字符格式避免乱码
$conn->query("SET NAMES utf8");
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stmt = $conn->query("SELECT * FROM user WHERE id='1'");
$stmt->execute();
$result = $stmt->setFetchMode(PDO::FETCH_ASSOC);

//fetchAll()方法是获取结果集中的所有行,返回一个包含结果集中所有行的二进制数组。
$result = $stmt->fetchAll();
//关闭链接
$conn = null;
//json_encode转换json格式
echo json_encode($result);

好,我们现在成功的链接数据库了,并且简单的操作数据库,我会单独写一篇来讲讲怎么写接口,以及操作数据库的几种方法,有兴趣的盆友可以关注一下。

{{item.name}}