当我在数据库中搜索用户时,我会这样做:
$result = $dbh->query("SELECT user FROM table_user WHERE user = '".$user."' ");
$result->execute();
while ($user = $result->fetch(PDO::FETCH_ASSOC)) {
$array[] = $user['user'];
}
但我首先得到一个结果,
user
和
$user
完全相同。
但是我已经需要一个结果,当“$ user”是“user”的一部分时,有谁知道如何进行这样的模式匹配?
问候!!
答案 0 :(得分:1)
您正在搜索LIKE
声明。进一步请注意,当您以这种方式插入$ user时,您很容易受到SQL注入攻击。你应该使用准备好的声明 -
使用此:
$stmt = $dbh->prepare("SELECT user FROM table_user WHERE user LIKE :search");
$stmt->execute(array('user' => "%$user%"));
while($user = $stmt->fetch()) {
var_dump($user);
}