PHP – pdoのprepareでLIKEのサンプル

LIKEを使って検索したい。検索するワードは自由にユーザーに入力させたい。結論からいえば以下が答えである。

<?php
$query = '%' . $query . '%';
$stmt = $this->pdo->prepare("SELECT * FROM test WHERE name LIKE :query;");
$stmt->bindParam(':query', $query, PDO::PARAM_STR);

これは違う

"SELECT * FROM test WHERE name LIKE '%:query%';

これも違う

$stmt = $this->pdo->prepare("SELECT * FROM test WHERE name LIKE :query;");
$stmt->bindParam(':query', '%' . $query . '%', PDO::PARAM_STR);

一番最初に見せた例が答えだな

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA