PDOの注意点
こんなSQLを作成しようと思って
SELECT * FROM table_name WHERE name LIKE '%hoge%'
こんな感じのコードを書いた。
<?php $db = new PDO($dsn, $user, $pass); $hoge = "hoge"; $sql = "SELECT * FROM table_name WHERE name LIKE '%?%'"; $stmt = $db->prepare($sql); $stmt->bindParam(1, $hoge);
ところが、これを実行しても結果セットが返ってこない。
調べてみると、「LIKEの'%'は変数の中にないといけない」そう。
そこで、取りあえず
$hoge = '%hoge%'; $sql = "SELECT * FROM table_name WHERE name LIKE ?";
として解決。
PDO、もっとちゃんと使えるようにならないとな〜(・x・ ).o0○