簡體   English   中英

從php中的另一個查詢構建SQL查詢

[英]building SQL Query From another Query in php

當我嘗試用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>";
}

關於錯誤的最后一部分,您需要刪除前綴“ ro”。 從賦值語句的右側部分開始。

因此,您的實際代碼應該是:

$run = mysql_query ($sql);
while($runrows = mysql_fetch_assoc($run)) {
    $RoomName = $runrows["RoomName"];
    $RoomDescription = $runrows["RoomDescription"];

    echo "$RoomName $RoomDescription";
}

嘗試以上一項,您應該可以正常工作; 直到&,除非您的字段在數據庫表或數據庫連接中存在某些錯誤。

您不需要子查詢即可添加LIKE部分:

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變量。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM