0
我写了一个PHP函数来执行暗示性搜索。该函数使用一个查询来执行用户输入字符串的搜索和匹配,然后在列表中列出建议的匹配项。一切工作都按照预期在这一点上,但我希望改善它。如何提高我的查询以字符而不是字符串搜索?
下面是我的代码:
function fillQueryData() {
$dbName = $_SESSION ['dbN'];
$link = mysqli_connect ('localhost', 'root', '', $dbName);
if (! $link) {
die ("Connection failed" . mysqli_errno ($link));
}
if (isset ($_POST ['name'])) {
$name = trim ($_POST ['name']);
$tblName = $_SESSION ['tblN'];
$colqry = "SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = '$dbName' AND TABLE_NAME = '$tblName'";
echo "<ul>";
$col_names = mysqli_query ($link, $colqry);
while ($col = mysqli_fetch_array ($col_names, MYSQLI_ASSOC)) {
$colName = $col ['COLUMN_NAME'];
$tblQry = "SELECT * FROM $tblName WHERE $colName='$name'LIMIT 4";
$query2 = mysqli_query ($link, $tblQry);
while ($query3 = mysqli_fetch_array ($query2)) {
?>
<li onclick='fill("<?php echo $query3 [$colName]; ?>") '><?php echo $query3 [$colName]; ?> </li>
我的问题是如何提高我的查询,以便搜索可以通过一个字符串,而不是仅使用满弦的字符来进行。例如,目前为了获得有效的匹配,我必须搜索完整的单词。我想获得建议时,我打字的这个字母表示单词等
查询
"SELECT * FROM $tblName WHERE $colName='$name'"
Sry,我编辑了答案 - 在错误的世界中精神上;-)) – MBaas 2015-03-19 11:21:03
谢谢工作正常! – b0w3rb0w3r 2015-03-19 11:33:39
感谢您的反馈! :-) – MBaas 2015-03-19 11:34:21