* PDO の前処理は主に PDOStatement オブジェクトを使用します
* このオブジェクトは、$pdo->prepare() メソッドを通じて作成されます
* 読み取り操作と書き込み操作は両方とも、$pdoStmt->execute() メソッドを通じて実行できます
* ? 記号の使用に加えて、前処理された SQL ステートメントのプレースホルダーでは、次のような名前付きパラメーターも使用できます: name:email...
* 以下は、デモンストレーション用に新しいデータを追加する例であり、6 つに分割されています。手順:
* 1. データベースに接続し、PDO オブジェクトを作成します
* 2. 前処理 SQL ステートメントを準備し、プレースホルダーは名前付きパラメーター形式を使用します:
* 3. PDO 前処理オブジェクトを作成します: のインスタンスPDOStatement
* 4. SQL ステートメント オブジェクトへのパラメーターのバインド、オブジェクトの前処理
* 5. 新しい操作の実行 (PDO では、読み取りと書き込みにexecute() を使用します)
* 6. PDO オブジェクトの破棄 (オプション)
/ /1. データベースに接続し、PDO オブジェクトを作成します
$pdo = new PDO('mysql:dbname=php', 'root', 'root');
//2. 前処理 SQL ステートメントを準備します。プレースホルダーは名前付きパラメーター形式を使用します:
$sql = "INSERT `user` SET `user_name`=:name, `email`=:email,`password`=sha1(:password)";
//3. PDO 前処理オブジェクトを作成します
$stmt = $pdo->prepare($sql);
//生成された SQL ステートメントを表示します。これを SQL コマンド ウィンドウにコピーして実行し、ステートメントが正しいことを確認します
echo $stmt->queryString;exit();
//4。パラメータを前処理オブジェクトにバインドします
$data = ['name'=>'杨过','email'=>'yg@php.cn', 'password'=>'123']; $stmt->bindParam(':name',$data['name'],PDO::PARAM_STR); $stmt->bindParam(':email',$data['email'],PDO::PARAM_STR); $stmt->bindParam(':password',$data['password'],PDO::PARAM_STR);
//5。新しい操作を実行します
if($stmt->execute()){ //rowCount():返回上一个SQL语句影响的行数 echo '<h3>成功添加了'.$stmt->rowCount().'条记录</h3>'; } else { echo '<h3>添加失败</h3>'; print_r($stmt->errorInfo()); exit(); }
//6。 PDO オブジェクト
$pdo = null;