Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.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 在多个查询中使用WHERE_Php_Duplicates_Where_Multiple Tables - Fatal编程技术网

Php 在多个查询中使用WHERE

Php 在多个查询中使用WHERE,php,duplicates,where,multiple-tables,Php,Duplicates,Where,Multiple Tables,这是基于搜索引擎的 我收到重复的搜索结果从这个 $construct ="SELECT * FROM Rating, Attraction WHERE $construct" ; 然后我被告知,它正在选择所有结果和行,因此重复它,所以我使用了来自另一个页面的查询,并在底部添加了相关的WHERE $construct = "SELECT Attraction.*, Type.TypeName, Rating.RatingUrl "; $construct .= "FROM Attractio

这是基于搜索引擎的

我收到重复的搜索结果从这个

$construct ="SELECT * FROM Rating, Attraction WHERE $construct" ;

然后我被告知,它正在选择所有结果和行,因此重复它,所以我使用了来自另一个页面的查询,并在底部添加了相关的WHERE

$construct  = "SELECT Attraction.*, Type.TypeName, Rating.RatingUrl ";
$construct .= "FROM Attraction ";
$construct .= "INNER JOIN Type ON Attraction.Type = Type.TypeID ";
$construct .= "INNER JOIN Rating ON Attraction.AttractionID = Rating.AttractionID ";
$construct .= "WHERE Attraction = '$construct' ";
如果我的结构正确,它将无法工作,并且无法识别查询


$construct是一个用于将关键字与数据库匹配的查询

存储查询的变量称为
$construct
,您还将其包含在最后一行
“其中Attraction='$construct'”
,因此您实际上将前4行包含在最后一行中,这不会产生预期的结果

也许重命名查询变量使其工作就足够了

另外,如果您不想重复,只需使用
DISTINCT

SELECT DISTINCT * FROM Rating, Attraction WHERE $construct

我相信是因为这个

 $construct .= "WHERE Attraction = '$construct' ";

您使用的是同一个变量名吗?

我不确定,但请按TypeID对用户分组可能是它的工作

打印出查询的最终字符串,这样更容易看到错误,并告诉我们您使用的是哪种RDBMS,MySQL?在
WHERE Attraction='$Construct'
,Attraction是数据库字段还是表名?Attraction是表名。调试SQL问题时,最重要的信息位是:1)DBMS 2)实际的SQL代码。你两个都漏掉了。