Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/278.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
php mysql选择查询来检索数据,完成搜索功能_Php_Mysql_Select - Fatal编程技术网

php mysql选择查询来检索数据,完成搜索功能

php mysql选择查询来检索数据,完成搜索功能,php,mysql,select,Php,Mysql,Select,我想在我的网站上创建一个搜索区,用户可以在3种搜索类型中进行选择:他可以按姓名搜索、按专业搜索或按位置搜索 输出将是名字、姓氏和配置文件图片 问题是我不知道如何编写这段代码的结构和查询 这是我试图写的,但它给了我很多错误: 注意:未定义索引:地区 注意:未定义索引:村庄 注意:未定义索引:sql 警告:mysql_fetch_array()希望参数1是资源, 空的 search.php 您应该检查$\u POST中的请求变量是否使用isset正确设置: if (isset($_POST["d

我想在我的网站上创建一个搜索区,用户可以在3种搜索类型中进行选择:他可以按姓名搜索、按专业搜索或按位置搜索

输出将是名字、姓氏和配置文件图片

问题是我不知道如何编写这段代码的结构和查询

这是我试图写的,但它给了我很多错误:

  • 注意:未定义索引:地区
  • 注意:未定义索引:村庄
  • 注意:未定义索引:sql
  • 警告:mysql_fetch_array()希望参数1是资源, 空的
search.php
您应该检查$\u POST中的请求变量是否使用isset正确设置:

if (isset($_POST["district"])) { $district = $_POST["district"]; }
//etc
在这段代码中,我没有看到对名为“sql”的索引的引用,您可能希望选中“select.class.php”,稍后将其包含在search.php中


对于最后一个问题,您应该检查所有查询是否有效;如果不是,mysql\u query()将不会返回结果(mysql\u query()返回类型resource),那么mysql\u fetch\u array()将无法获取数组(mysql\u fetch\u array()需要一个资源,但您的值为null)。

。它们不再得到维护。看到了吗?改为了解,并使用或-将帮助您决定哪个。
die(“可以选择数据库”)
似乎是一个合法错误。好的,我更改它,您能帮我解决问题吗?您的意思是,先生,如果为每个变量设置了i,我需要做什么$sql是查询的变量,对于最后一个问题,是的,我知道我必须检查每个查询是否有效,但我不知道如何为每种类型的搜索编写这些查询的结构。在请求后,您应该对任何可能为空的内容进行设置。我可能错了,但错误消息意味着在键“sql”上访问了一个数组,而不是名为$sql的变量。我不知道如何帮助您编写查询,而不知道您试图完成什么。search.php中的查询看起来是正确的,但是您应该检查字符串,看看$Sname是否为空字符串。我最初没有看到。如果$Sname是一个字符串,那么应该将其与字符串进行比较,而不是整数。这种比较是危险的。在您的例子中,这总是被计算为false,所以mysql\u查询甚至没有执行。因此,$sql是空的。您应该检查$sql是否也不为空。请告诉我在执行查询后是否理解您的意思,我必须检查查询是否返回有效数据,因此我需要使用mysql_num_rows()检查结果是否大于1?不,您已经有足够的信息。mysql_query()应该返回一个资源。您可以检查NULL或其类型。请看下面这个线程:edit:抱歉,不要误导您,如果mysql_query()正在执行一个SELECT,就像您的例子一样,它应该在成功后返回一个资源。
if (isset($_POST["district"])) { $district = $_POST["district"]; }
//etc