この記事では、主に PHP で MySQL データベースを操作する PDO 方法を紹介します。これは、必要な友人に参考にしていただけるようになります。
1) データベースに接続します。
2) SQL文を実行$pdo = new PDO(“mysql:host=localhost; dbname=db_name”,username,password);
$pdo -> query() 针对返回有结果的操作 适用于SELECT $pdo -> exec() 针对没有返回结果的操作 适用于增删改
$stmt -> fetch($mode) 获取一条数据 $stmt -> fetchAll($mode) 获取所有数据
インスタンス<?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);
1) オープントランザクション2)トランザクションロールバック
$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);
1 ) $sql = “???”SQL文のVALUEのパラメータは疑問符に置き換えられます。
$pdo -> prepare($sql)
3) パラメータの割り当て
$stmt ->bindParamの詳細説明:$stmt -> bindParam(参数位置 | 参数伪名, 变量名(需要有值)) $stmt -> bindValue(参数参数位置 | 参数伪名, 变量名(需要有值)| 具体的值)
$stmt ->bindValueを使用してバインドした後変数の場合、execute実行前にこの変数の値を変更しても結果は変わりません。
詳細はこちらを参照してリンク内容をここに書いてください4) コードを実行
$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);5) 結果を取得(クエリ操作のみ)
$stmt -> execute()modeはPDO::FETCH_ASSOCを選択でき、結果は
になります連想配列
。 例$stmt -> fetch($mode) 获取一个结果 $stmt -> fetchAll($mode) 获取所有结果
MySQLMySQL データベースを操作する方法
以上がPDOでMySQLデータベースを操作する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。