[英]MYSQL SELECT query with WHERE not working
我的数据库中的数据有一个名称列表,每个名称都有一个 ID。 当名称与搜索的名称匹配时,我正在尝试进行简单的搜索以提取人员 ID。
if(isset($_POST['submit'])&& empty($_POST['personName'])==FALSE ){
$name=$_POST['personName'];
if (!preg_match("/^[a-zA-Z ]*$/",$name)) {
echo "No numeric characters allowed";
}else{
include('connect.php');
if($con==false){
}else if ($con==true){
$cleanName=mysqli_real_escape_string($con,$name);
$getPersonID="SELECT person_ID FROM person WHERE Name='$cleanName'";
$resultGetPersonID=mysqli_query($con,$getPersonID)or die(mysqli_error($con));
if(mysqli_num_rows($resultGetPersonID)>0){
echo "query sucessrful";
}else{
echo "query failed";
}
}
}
}else{
echo "Data entered wrong";
}
html
<div class="searchBox">
<form action="getPerson.php" method="POST">
Name: <input id='personName' type="text" name="personName" > <input type="submit" value="Search" id="search" name="submit">
</form>
</div>
如果您想检索match
输入match
的名称的 id,那么您可能想尝试使用like
运算符,例如:
SELECT person_ID FROM person WHERE Name like %<input>%
对于不区分大小写的匹配,请尝试使用lower
函数并以小写形式传递名称gg:
SELECT person_ID FROM person WHERE lower(Name) like %<input>%
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.