当我尝试从PHP代码中的另一个查询构建查询时,我遇到了一些问题 你能告诉我为什么吗? :(
代码:
$First="SELECT ro.RoomID,
ro.RoomName,
ro.RoomLogo,
jr.RoomID,
jr.MemberID,
ro.RoomDescription
FROM joinroom jr,rooms ro
where (ro.RoomID = jr.RoomID)
AND jr.MemberID = '1' ";
$sql1 = mysql_query($First);
$constract .= "ro.RoomName LIKE '%$search_each%'";
$constract="SELECT * FROM $sql1 WHERE $constract ";// This statment is Make error
谢谢,查询它现在正在工作! ..
但是当我显示此查询的结果时,我面临另一个问题..
代码:
$run =mysql_query ($sql);
while($runrows=mysql_fetch_assoc($run))
{
$RoomName=$runrows["ro.RoomName"];
$RoomDescription=$runrows["ro.RoomDescription"];
echo "<center><b>$RoomName</b><br>$RoomDescription<br></center>";
}
答案 0 :(得分:1)
关于您所面临的错误的最后一部分,您需要删除前缀“ro”。从任务陈述的右边部分。
所以你的实际代码应该是: -
$run = mysql_query ($sql);
while($runrows = mysql_fetch_assoc($run)) {
$RoomName = $runrows["RoomName"];
$RoomDescription = $runrows["RoomDescription"];
echo "$RoomName $RoomDescription";
}
尝试上面这个,&amp;你应该工作得很好;直到&amp;除非您的数据库表或数据库连接中存在关于字段存在的错误。
答案 1 :(得分:0)
您不需要子查询来添加LIKE-part:
SELECT ro.RoomID,ro.RoomName,ro.RoomLogo,jr.RoomID, jr.MemberID,ro.RoomDescription
FROM joinroom jr, rooms ro
WHERE ro.RoomID = jr.RoomID
AND jr.MemberID = '1'
AND ro.RoomName LIKE '%$search_each%'
顺便说一句,确保清理/转义$search_each
变量。