【发布时间】:2018-04-11 12:41:57
【问题描述】:
问题概述
我正在尝试从输入字段中选择以输入名称开头的所有名称
我的尝试
我有一个名为 onkeypress 的搜索功能,该功能从 html 表单中获取键入的文本并将其从进程发送到 php 页面。
我的问题
查询仅返回包含完整输入文本的结果,这实际上是我想要的,之后结果会扭曲我添加的包含搜索文本的某些部分并且我不想要的文本
程序代码
html表单
<input type="text" onkeypress="search(this.value)"/>
<div id="search">
</div>
按键调用函数
function search(val)
{
$.ajax({
type:"POST",
url:"lsearch.php",
data:{
co:val,
co2:pgmid
},
success:function(data){
//alert("complete");
$("#search").html(data);
},
});
}
php进程页面
$coname=$_POST['cof'];
$coun="select * from registration where full_name LIKE '$coname%'";
$rcount2=mysqli_query($cons,$coun);
还上传了异常结果和预期结果的屏幕截图。
我得到了什么:
预期结果:
【问题讨论】:
-
在搜索字符串中使用通配符;
%。 但是你需要改变你的逻辑,因为你很容易受到 SQL 注入攻击。研究参数化查询。 -
能否请您正确解释一下。您收到的回复是什么,您正在寻找什么回复。
-
我其实一开始就用了%操作符但是忘记展示了。完整的代码是这样的 $coun="select * from registration where full_name LIKE '%$conname%'
-
您的查询 "$coun="select * from registration where full_name LIKE '$conname%' "将返回值以 $coname 开头的值。
标签: javascript php jquery database