【发布时间】:2017-03-13 04:34:15
【问题描述】:
我创建了一个非常基本且简单的搜索程序,它在获取的行中显示输入的用户名的名字和姓氏。它是成功的,但前提是输入的用户名与数据库中用户名的确切字符和长度匹配。我希望我的代码即使不完整也能阅读;例如,数据库中的用户名是“baymax16”,输入的用户名是“max16”,我希望它返回true,因为某些字符匹配。我用了preg_match(),但是有一个错误。我应该使用preg_match() 吗?如果是,我应该如何正确使用它?如果没有,我应该使用什么?
<?php
$db = new PDO('mysql:host=127.0.0.1;dbname=sample;charset=utf8', 'root', '');
if(isset($_POST['search'])) {
$search = $_POST['search'];
$query = $db->prepare("SELECT * FROM search WHERE username=:username");
$query->execute(['username' => $search]);
$row = $query->fetch(PDO::FETCH_OBJ);
if(count($row)) {
if(preg_match($search, $row)) {
echo $row->firstname . ' ' . $row->lastname;
}
}
}
【问题讨论】:
标签: php mysql regex pdo preg-match