PHPでのPDO bindParamの使用方法


  1. PDO bindParamの基本的な使用方法 bindParamメソッドは、プリペアドステートメント内のプレースホルダーに値をバインドするために使用されます。以下は、基本的な使用方法の例です。
$stmt = $pdo->prepare("SELECT * FROM users WHERE id = :id");
$stmt->bindParam(':id', $id);
$id = 1;
$stmt->execute();

上記の例では、:id というプレースホルダーに $id の値をバインドしています。プレースホルダーはコロン(:)で始まる任意の名前で指定できます。

  1. プレースホルダーのデータ型の指定 bindParamメソッドは、自動的にデータ型を推測しますが、明示的に指定することもできます。以下は、データ型を指定する例です。
$stmt = $pdo->prepare("INSERT INTO users (name, age) VALUES (:name, :age)");
$stmt->bindParam(':name', $name, PDO::PARAM_STR);
$stmt->bindParam(':age', $age, PDO::PARAM_INT);
$name = "John Doe";
$age = 25;
$stmt->execute();

上記の例では、:name のデータ型を文字列(PDO::PARAM_STR)に、:age のデータ型を整数(PDO::PARAM_INT)に明示的に指定しています。

  1. バインドされた値の変更 bindParamメソッドは、プリペアドステートメントが実行されるまで値を保持します。そのため、バインドされた値を変更することができます。
$stmt = $pdo->prepare("SELECT * FROM users WHERE name = :name");
$stmt->bindParam(':name', $name);
$name = "John Doe";
$stmt->execute();
// もし必要なら、バインドされた値を変更できます
$name = "Jane Smith";
$stmt->execute();

上記の例では、最初に$name を "John Doe" にバインドしてクエリを実行し、その後で $name の値を "Jane Smith" に変更して再度実行しています。

これらの例を参考にして、PDO bindParamの使用方法を理解し、安全なデータベース操作を実現してください。