我一直在使用PHP函数strpos来查找包含DB中字符串字符的结果:
User Types: Hel
Results: Hello, Hell, Helli, Hella
我有它基本上查询整个表:
$result = mysql_query("SELECT * FROM Events");
然后运行while语句以查看哪个结果包含输入的字符:
while($row = mysql_fetch_array($result))
{
$pos = strpos($row['Title'], $q);
if ($pos === false) {
} else {
echo $row['Title'];
}
}
为了找到结果的数量,我正在使用:
$n = $n++
在while语句中。
我知道你可以使用:
$num_rows = mysql_num_rows($result);
如果您只是从数据库中选择这些值,要查找结果数,但我是否必须使用此while语句来查找与strpos函数匹配的结果数?或者我可以将strpos放入Select From查询吗?
非常感谢任何帮助,
泰勒
答案 0 :(得分:2)
这似乎非常低效。你为什么不简单地让数据库为你搜索?
$result = mysql_query("SELECT * FROM Events WHERE Title LIKE '" . addslashes($q) . "%'");
然后循环浏览结果。
答案 1 :(得分:2)
您可以将SQL更新为
SELECT *
FROM Events
WHERE Title LIKE '{your_string}%'
确保过滤sql注入。
答案 2 :(得分:2)