今天我们来搞一搞php,php如何链接数据库,让你从前端走入php的坑。
为什么要搞一搞PHP,安安静静的做个切图仔不好吗?首先,会一点点PHP遇到那种脾气不好,技术有很菜的的后端,这个时候你就可以开怼了。
开开玩笑。好了不开玩笑了,就是为了自己能搞点小东西,不用找人问来问去的,自己会总比不会好是吧。
首先了解一下链接数据库有几种方式,他有这两种 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);
好,我们现在成功的链接数据库了,并且简单的操作数据库,我会单独写一篇来讲讲怎么写接口,以及操作数据库的几种方法,有兴趣的盆友可以关注一下。