一、PHP与PDO连接数据库方法
1. 建一个配置文件config.php放根目录,把这个文件引入到当前demo1.php文件中
- 以下为config.php文件内容
<?php
define('DB_HOST', 'localhost'); //主机名
define('DB_USER', 'root'); //连接数据库的用户名
define('DB_PWD', 'melinda123'); //连接数据库密码
define('DB_NAME', 'melinda'); //数据库名称
define('DB_PORT', '3306'); //数据库端口号
define('DB_TYPE', 'mysql'); //数据库的型号
define('DB_CHARSET', 'utf8'); //数据库的编码方式
define('DB_DSN', DB_TYPE . ":host=" . DB_HOST . ";dbname=" . DB_NAME . ";charset=" . DB_CHARSET); //定义PDO的DSN,数据源名,包括主机名,端口号和数据库名称。
$dsn = 'mysql:host=localhost;dbname=melinda';//用冒号连接,如主机名、端口和数据库名。
2. PDO进行mysql类型数据连接
<?php
require "config.php";
// 用try,catch来捕捉
try {
// 拿到PDO对象
$pdo = new PDO(DB_DSN, DB_USER, DB_PWD);
//捕捉特定于数据库信息的PDOEXCEPTION 异常
} catch (PDOException $e) {
echo $e->getMessage();
//捕捉拥有Throwable接口的错误或者其他异常
} catch (Throwable $e) {
echo $e->getMessage();
}
二、prepare()方法获取PDOStatement对象并遍历二维数组
<?php
require "config.php";
try {
$pdo = new PDO(DB_DSN, DB_USER, DB_PWD);
} catch (PDOException $e) {
echo $e->getMessage();
} catch (Throwable $e) {
echo $e->getMessage();
}
$sql = "SELECT * FROM `user` WHERE `username`=username";
//1.prepare()获取PDOStatement语句对象
$stmt = $pdo->prepare($sql);
$stmt->bindParam("username", $username);
$stmt->execute();
//2.fetchAll:获取包含结果集中所有行的数组
$res = $stmt->fetchAll(PDO::FETCH_ASSOC);
print_r($res);