PHP-do IF检查字符串中的某些字符,以与SQL db中的from数据进行比较

PHP-do IF检查字符串中的某些字符,以与SQL db中的from数据进行比较,php,mysql,Php,Mysql,我正在开发一个建议工具:当用户在文本字段中键入一个字符时,该字符将被发送到脚本(使用AJAX),并在SQL数据库中进行检查。如果数据库中的任何条目与用户输入匹配,则返回它们 但我一直在浏览用户的输入字符串 我需要逐个检查数据库中每一行的所有字符 所以我想: 1.)获取字符串的字符长度并将其放入$string\u count 2.)定义$count=0 3.)执行while循环,并在$count达到或等于$string\u count时停止循环 4.)在该while循环内:执行另一个while循环

我正在开发一个建议工具:当用户在文本字段中键入一个字符时,该字符将被发送到脚本(使用AJAX),并在SQL数据库中进行检查。如果数据库中的任何条目与用户输入匹配,则返回它们

但我一直在浏览用户的输入字符串

我需要逐个检查数据库中每一行的所有字符

所以我想:

1.)获取字符串的字符长度并将其放入
$string\u count

2.)定义
$count=0

3.)执行while循环,并在$count达到或等于
$string\u count
时停止循环

4.)在该while循环内:执行另一个while循环并使用条件:$det=mysql\u fetch\u array()

5.)然后我可以从第1行获取数据(名称),并检查它的第一个字符是否与用户输入的第一个字符匹配(我不知道怎么做)

6.)如果在正确的位置包含正确的字符,请将ID添加到字符串中,并在后面加逗号(
$mably.=$det['ID']),;

7.)向父while循环中的$count(
$count++;
)添加一个

7.)循环将在每一行继续,但显然每次都会更改字符,直到没有更多的字符要检查

我只是从我的头顶写下了这些,现在我迷路了。我认为这是完全错误的,有更简单的方法吗?但你们能告诉我我是否走对了路吗

我需要知道如何对字符串中的某个字符进行检查。例如:

$my_str="my name is nav nav";
现在我想得到该字符串中的第四个字符(即“n”)

有什么建议吗

谢谢各位

$my_str="my name is nav nav";

$charAt= $my_str{3};

echo $charAt;

//outputs n (strings are 0 indexed)
编辑:还要等待用户输入至少三个字符,然后使用LIKE everytime执行数据库查询:

SELECT * FROM example WHERE age LIKE '$userinput%' 


(优化这是另一个故事)

我不太理解你的方法,但下面是我要做的

如果用户字符串的长度超过某个阈值(例如3个字符),则通过AJAX将整个用户输入字符串发送到DB


在服务器端,运行
SELECT*FROM example WHERE字段,如CONCAT(?“%”)
。这个表示一个绑定参数,以确保您不会遇到SQL注入问题。(有关准备好的语句的更多信息,请参见PHP)

当您说,如果数据库中的任何条目与用户输入匹配,它们将被返回时,您能否澄清一下。“匹配”是什么意思?因此,如果该条目名称中的每个字符以正确的顺序匹配用户输入字符串,那么将从该行获取并返回该行的信息(id)。