이 글은 주로 PHP로 MySQL 데이터베이스를 운영하는 PDO 방식을 소개하고 있습니다. 이제는 누구나 참고할 수 있도록 공유하겠습니다.
기본 사용법
$pdo = new PDO(“mysql:host=localhost; dbname=db_name”,username,password);
$pdo -> query() 针对返回有结果的操作 适用于SELECT $pdo -> exec() 针对没有返回结果的操作 适用于增删改
$stmt -> fetch($mode) 获取一条数据 $stmt -> fetchAll($mode) 获取所有数据
모드에서 PDO::FETCH_ASSOC를 선택할 수 있으며 결과는 연관 배열이 됩니다.
<?php // PDO操作数据库例子(查询) header("content-type:text/html;charset=utf-8"); // 连接数据库 $dsn = "mysql:host=localhost; dbname=test"; $pdo = new PDO($dsn,'root','123456789'); /*********** 执行SQL语句 *************/ // 设置字符集 $pdo -> exec("set names utf8"); $sql = "SELECT * FROM users"; $stmt = $pdo -> query($sql); // 获取结果集 $data = $stmt -> fetchAll(PDO::FETCH_ASSOC); var_dump($data);
거래 제어
$pdo -> beginTransaction()
$pdo -> rollback()
$pdo -> commit()
$pdo -> setAttribute(PDO::ATTR_AUTOCOMMIT,1)
exec("set names utf8"); // 开启事务 $pdo -> beginTransaction(); // SQL语句 $sql1 = "UPDATE users SET `money`=`money`+1 WHERE `id` = 1 "; $r1 = $pdo -> exec($sql1); $sql2 = "UPDATE users SET `money`=`money`-1 WHERE `id` = 12 "; $r2 = $pdo -> exec($sql2); // 做判断 if($r1 > 0 && $r2 > 0){ $pdo -> commit(); echo '操作成功'; }else{ $pdo -> rollback(); echo '操作失败'; } $pdo -> setAttribute(PDO::ATTR_AUTOCOMMIT,1);
전처리
SQL 문의 VALUE에 있는 매개변수는 물음표로 대체됩니다.
$pdo -> prepare($sql)
$stmt -> bindParam(参数位置 | 参数伪名, 变量名(需要有值)) $stmt -> bindValue(参数参数位置 | 参数伪名, 变量名(需要有值)| 具体的值)
$stmt ->bindParam에 대한 자세한 설명:
$sql = "UPDATE users SET `money`=100 WHERE id = :num "; // 注意,这里必须先给$num赋值 $num = 3; $stmt -> bindParam(":num",$num); 另一种形式(占位符变成问号) $sql = "UPDATE users SET `money`=100 WHERE id = ? "; // 注意,这里必须先给$num赋值 $num = 3; $stmt -> bindParam(":num",$num);
$stmt ->bindValue에 대한 자세한 설명
변수, 실행을 실행하기 전에 이 변수의 값을 변경하더라도 결과는 변경되지 않습니다.
자세한 내용은 여기를 참조하고 여기에 링크 내용을 작성하세요.
$stmt -> execute()
$stmt -> fetch($mode) 获取一个结果 $stmt -> fetchAll($mode) 获取所有结果
모드에서는 PDO::FETCH_ASSOC를 선택할 수 있으며 결과는 associative가 됩니다. 배열.
exec("set names utf8"); // SQL语句 $sql = "SELECT * FROM users WHERE id > :num "; // 创建预编译对象 $stmt = $pdo -> prepare($sql); // 参数绑定 $num = 3; $stmt -> bindParam(":num",$num); // 执行SQL语句 $stmt -> execute(); // 获取结果集 $data = $stmt -> fetchAll(PDO::FETCH_ASSOC); var_dump($data);
관련 권장 사항:
위 내용은 PHP에서 MySQL 데이터베이스를 운영하는 PDO 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!