我有这样的SQL查询:
SELECT * FROM tbl_name WHERE title Like "%:needle%"
Run Code Online (Sandbox Code Playgroud)
当我使用此语句手动查询MySQL数据库时,它可以工作.但是当我使用它与PDO并使用相同的值时:我手动查询的针它只返回一个空的结果集.
utf8编码会影响它的行为吗?
Win*_*ian 17
使用PDO,可以这样做:
$stmt = $db->prepare("SELECT * FROM tbl_name WHERE title LIKE :needle");
$needle = '%somestring%';
$stmt->bindValue(':needle', $needle, PDO::PARAM_STR);
$stmt->execute();
$rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
Run Code Online (Sandbox Code Playgroud)
试试吧
$sql = 'SELECT * FROM tbl_name WHERE title Like ":needle"';
$prep = $dbh->prepare($sql);
$ret = $prep->execute(array(':needle' => '%'.$somestring.'%'));
Run Code Online (Sandbox Code Playgroud)