您好我希望能够从主表 'properties'
中选择要在where子句中使用的值,然后在实际查询中从连接表中选择值 . 这是我的数据库结构 .
表属性:
id | title | property_type | city | sector | bedrooms
-----------------------------------------------------
1 | hotel | 7 | 4 | 1 | three
-----------------------------------------------------
table city
id | cityname |
---------------
2 | Plovdiv |
---------------
table sector
id | sectorname|
---------------
2 | Trakia |
----------------
table property_typ
etc.
所以这是我收到错误的实际查询:
$query= "SELECT
P.id,P.price
,P.contract,P.property_type
,P.sector,P.title
,P.address,P.bedrooms
,P.bathrooms,P.price
,P.m2,P.text_english
,P.photo_01,P.utilities
,P.google_maps,P.date
,CT.id,CT.english_text
,PT.id,PT.english
,C.cityname,S.sectorname
,S.id,O.ownername
,O.phone_one,O.phone_two
,O.email,O.notes
FROM properties P
JOIN contract CT ON CT.id = P.contract
JOIN property_type PT ON PT.id = P.property_type
JOIN city C ON C.id = P.city
JOIN sector S ON S.id = P.sector
JOIN owner O ON O.id = P.owner
FROM properties
WHERE P.sector = 2";
如果能够实现这一目标,任何帮助都会让我受到欢迎 .
错误:致命错误:带有消息'SQLSTATE [42000]的未捕获异常'PDOException':语法错误或访问冲突:1064 SQL语法中有错误;检查与MySQL服务器版本对应的手册,以便在'FROM properties WHERE P.sector = 2附近使用正确的语法;在E:\ xampp \ htdocs \ dolche \ admin \ class \ pagination.php的第43行'限制0,30':451堆栈跟踪:#0 E:\ xampp \ htdocs \ dolche \ admin \ class \ pagination.php( 451):PDOStatement-> execute()#1 E:\ xampp \ htdocs \ dolche \ admin \ search.php(191):在E:\ xampp \ htdocs \ dolche中抛出pagination-> execute()#2 第451行的\ admin \ class \ pagination.php
2 回答
删除
WHERE
子句之前的FROM properties
:您正在多次使用FROM属性,请删除下面指出的两个 from-2 .