sql >> データベース >  >> RDS >> Mysql

PHPPDOプリペアドステートメント-MySQLLIKEクエリ

    $ret = $prep->execute(array(':searchTerm' => '"%'.$searchTerm.'%"'));
    

    これは間違っています。二重引用符は必要ありません。

    WHERE hs.hs_text LIKE ":searchTerm" 
    $ret = $prep->execute(array(':searchTerm' => '%'.$searchTerm.'%'));
    

    これも間違っています。試してみてください:

    $prep = $dbh->prepare($sql);
    $ret = $prep->execute(array(':searchTerm' => '%'.$searchTerm.'%'));
    

    説明:プリペアド・ステートメントは、単にストリング置換を行うだけではありません。データはクエリとは完全に分離して転送されます。引用符は、クエリに値を埋め込む場合にのみ必要です。



    1. あるデータベースから別のデータベースにデータを転送する

    2. SQLSELECTでIF...THENを実行するにはどうすればよいですか?

    3. Microsoft Accessデータベースを分割するとはどういう意味ですか?

    4. フィルタされたインデックスによるオプティマイザの制限