PHP-do IF检查字符串中的某些字符,以与SQL db中的from数据进行比较
我正在开发一个建议工具:当用户在文本字段中键入一个字符时,该字符将被发送到脚本(使用AJAX),并在SQL数据库中进行检查。如果数据库中的任何条目与用户输入匹配,则返回它们 但我一直在浏览用户的输入字符串 我需要逐个检查数据库中每一行的所有字符 所以我想: 1.)获取字符串的字符长度并将其放入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循环
$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)。