我正在创建搜索以按名称搜索。在数据库中,我有名字(fname
)和姓氏(lname
)。
按名字或姓氏而不是全名搜索时,搜索有效。
例如,输入“ Joe”或“ Smith”作为值将带回“ Joe Smith”。输入“ Joe Smith”作为值将不带回记录。
$value = "%".$search_val."%";
$query = "SELECT fname, lname FROM users WHERE (fname LIKE ? OR lname LIKE ?)";
if ($stmt = $conn->prepare($query)) {
$stmt->bind_param('ss', $value, $value);
$stmt->execute();
$stmt->bind_result($fname, $lname);
/* fetch values */
while ($stmt->fetch()) {
printf ("%s %s\n <br>", $fname, $lname);
}
/* close statement */
$stmt->close();
}
/* close connection */
$conn->close();
?>
是否可以在查询中串联fname
和lname
?还是有其他解决方案?
答案 0 :(得分:1)
将其替换为您的查询:-
select concat(fname, ' ',lname) as name
from users
where name LIKE ? ;
答案 1 :(得分:0)
您可以使用串联功能refference:
for(int i = 0; i < input.length(); i++) {
switch (input.charAt[i]) {
case 'a': input.charAt[i] = 'c';
break;
case 'i': input.charAt[i] = 'b';
break;
//...
default: break; // nothing to do for the rest
}