php PDO 方式操作数据库小结

来源:互联网 发布:为知笔记导出 苹果 编辑:程序博客网 时间:2024/05/19 00:16

一、连接数据库(可存于单独的 conn.php 文件中)

$dsn = 'mysql:dbname=db_dreamtale;host=127.0.0.1'; //连接 

MySQL 数据库的 DSN

$user = 'root'; //数据库用户名$pwd = ''; //数据库密码$pdo = new PDO($dsn, $user, $pwd); //创建一个 PDO 对象$pdo$pdo->query('set names utf8'); //执行 SQL 命令,设置字符集为 UTF-8

二、无参数查询

$sql="SELECT ID,post_title FROM tb_posts WHERE post_status = 'publish' AND post_type= 'page' ORDER BY menu_order DESC, post_date DESC LIMIT 5"; //定义 SQL 命令$page_stmt = $pdo->query($sql); //执行 SQL 查询并将结果返回给变量$page_stmt//将变量$page_stmt 的每一行处理为数组while($pages = $page_stmt->fetch(PDO::FETCH_ASSOC)){echo $pages['post_title']; //显示数组中 'post_title'字段}

三、参数化查询

1) 数组方式

$login_name = $_POST['username']; //接收数据$login_pwd = $_POST['password']; //接收数据//用问号作为占位符代替需要添加到 SQL 语句中的变量$login_sql = "select * from tb_users where user_login = ? and user_pass = ? ";$login_stmt = $pdo->prepare($login_sql); //SQL 命令预处理$login_stmt->execute(array($login_name, $login_pwd )); //以数组的方式传递实参并执行

2)绑定变量值方式

$login_name = $_POST['username']; //接收数据$login_pwd = $_POST['password']; //接收数据//用问号作为占位符代替需要添加到 SQL 语句中的变量$login_sql = "select * from tb_users where user_login = ? and user_pass = ? ";$login_stmt = $pdo->prepare($login_sql); //SQL 命令预处理$login_stmt->bindParam(1, $login_name); //绑定变量到第一个问号$login_stmt->bindParam(2, $login_pwd); //绑定变量到第二个问号$login_stmt->execute(); //执行查询