Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何查询MySQL数据库中的PHP$\u GET数组_Php_Mysql_Arrays - Fatal编程技术网

如何查询MySQL数据库中的PHP$\u GET数组

如何查询MySQL数据库中的PHP$\u GET数组,php,mysql,arrays,Php,Mysql,Arrays,我正在尝试创建一个简单的搜索字段,用户可以在其中编写文本。 该文本被传输到php,然后php通过GET访问该文本。 如果文本包含空格,它将转换为数组。 问题是我不知道如何查询以数组作为Where条件的条目。 我尝试了几个答案,比如内爆(“,”,$array)或WHERE IN($array)。 他们都不为我工作。 要么是数组到字符串的比较错误,要么是未知列错误。 $\u GET数组包含表单提交的字符串,因此这不是错误 谢谢你的帮助 PHP脚本 //string containing the su

我正在尝试创建一个简单的搜索字段,用户可以在其中编写文本。 该文本被传输到php,然后php通过GET访问该文本。 如果文本包含空格,它将转换为数组。 问题是我不知道如何查询以数组作为Where条件的条目。 我尝试了几个答案,比如内爆(“,”,$array)或WHERE IN($array)。 他们都不为我工作。 要么是数组到字符串的比较错误,要么是未知列错误。 $\u GET数组包含表单提交的字符串,因此这不是错误

谢谢你的帮助

PHP脚本
//string containing the submitted searchbox value
$query=$_GET['Searchquery'];

//Seperate string where whitespaces are detected and create array holding these strings
$querystring=explode(" ",$query);
//Connection
$con=new mysqli($Server,$User,$UserPassword,$Database);



//print_r for testing
print_r($querystring);

//That's the problem
$sql="SELECT * FROM tb_user WHERE ??????"



if($result=$con->query($sql))
{
$word;

//Check if query result is one or multiple entries
  if($result->num_rows==1)
$word="entry";
else
$word="entries";


//output_____________
  echo("<h1>We found ".$result->num_rows." ".$word." meeting your Keyword '".$query."'</h1>");

  while($row=$result->fetch_assoc())
  {


echo("<div id='founduser'><a href='profile.php?ProfileLink=".$row['ProfileLink']."'><h1>".$row['GivenName']." ".$row['FamilyName']."</h1></a></div>");





  }



}
//______________________________
else {
  echo($con->error);

}






 ?>
//包含已提交搜索框值的字符串
$query=$\u GET['Searchquery'];
//分离检测到空白的字符串,并创建包含这些字符串的数组
$querystring=explode(“,$query”);
//联系
$con=newmysqli($Server、$User、$UserPassword、$Database);
//用于测试的打印机
打印(查询字符串);
//这就是问题所在
$sql=“从tb\U用户中选择*
如果($result=$con->query($sql))
{
$word;
//检查查询结果是一个条目还是多个条目
如果($result->num_rows==1)
$word=“entry”;
其他的
$word=“条目”;
//输出_____________
echo(“我们找到了“$result->num_rows.”“$word.“满足您的关键字”。$query.”);
而($row=$result->fetch_assoc())
{
回声(“”);
}
}
//______________________________
否则{
echo($con->error);
}
?>

explode()
相反。它将使用提供的字符串连接数组的所有索引。如果从查询中提取
内爆
,则会得到如下结果:

item1'、'item2'、'item3

从这里开始,我们将丢失第一项和最后一项的外部引号,因此我们可以将它们添加到查询中,如上图所示

上述查询将生成为:

SELECT*FROM tb\u user WHERE column\u name IN('item1'、'item2'、'item3')

该子句检查所提供的值是否与给定列中的anythign匹配


explode()
相反。它将使用提供的字符串连接数组的所有索引。如果从查询中提取
内爆
,则会得到如下结果:

item1'、'item2'、'item3

从这里开始,我们将丢失第一项和最后一项的外部引号,因此我们可以将它们添加到查询中,如上图所示

上述查询将生成为:

SELECT*FROM tb\u user WHERE column\u name IN('item1'、'item2'、'item3')


该子句检查提供的值是否与给定列中的任何内容匹配。

我知道。这就是为什么我在上面评论“这就是问题所在”。我不知道该写什么。这只是一个占位符对不起,我在阅读实际问题后阅读了代码:p。。看看我的回答是否有用。。别忘了在我知道的“where”后面需要一个coliumn名称。这就是为什么我在上面评论“这就是问题所在”。我不知道该写什么。这只是一个占位符对不起,我在阅读实际问题后阅读了代码:p。。看看我的回答是否有用。。别忘了在“where”代码后面需要一个coliumn名称,只有答案通常没有什么帮助。最好解释一下你做了什么以及为什么做,这样OP就可以从中真正学到一些东西,而不是只是复制/粘贴它然后上路。但是你能解释一下代码的确切含义吗?因为我想知道怎么做,而不仅仅是代码。你的回答仍然很好,我真的很感激。但我不能从中学到什么。当然,添加了更多的信息。只有代码的答案通常没有什么帮助。最好解释一下你做了什么以及为什么做,这样OP就可以从中真正学到一些东西,而不是只是复制/粘贴它然后上路。但是你能解释一下代码的确切含义吗?因为我想知道怎么做,而不仅仅是代码。你的回答仍然很好,我真的很感激。但我真的无法从中学习。当然,添加了更多信息。
$sql="SELECT * FROM tb_user WHERE column_name IN ('".implode("','", $querystring)."')";