簡體   English   中英

一處兩個sql查詢

[英]two sql queries in one place

        <?php
    $results = mysql_query("SELECT * FROM ".TBL_SUB_RESULTS."
                           WHERE user_submitted != '$_SESSION[username]' AND home_user = '$_SESSION[username]' OR away_user =   
                           '$_SESSION[username]'  ") ;
    $num_rows = mysql_num_rows($results);
        if ($num_rows > 0)
        { 
            while( $row = mysql_fetch_assoc($results)) 
            {
                extract($row);
                $q = mysql_query("SELECT name FROM ".TBL_FRIENDLY." WHERE id = '$ccompid'");
                while( $row = mysql_fetch_assoc($q)) 
                {
                    extract($row);
                ?>
                    <table cellspacing="10" style='border: 1px dotted' width="300" bgcolor="#eeeeee">
                    <tr>
                    <td><b><? echo $name; ?></b></td>
                    </tr><tr>
                    <td width="100"><? echo $home_user; ?></td>
                    <td width="50"><? echo $home_score; ?></td>
                    <td>-</td>
                    <td width="50"><? echo $away_score; ?></td>
                    <td width="100"><? echo $away_user; ?></td>
                    </tr><tr>
                    <td colspan="2"><A HREF="confirmresult.php?fixid=<? echo $fix_id; ?>">Accept / Decline</a></td>
                    </tr></table><br>
                    <?
                }


            }


        }
        else
        {
            echo "<b>You currently have no results awaiting confirmation</b>";
        }

    ?> 

如您所見,我正在嘗試運行兩個查詢。 但是他們倆都不工作。 有沒有更好的方法來解決這個問題,我的大腦凍結了! 謝謝

OOOH,順便說一句,我的SQL不會保留這種形式! 以后我會保護的

SELECT  *
FROM    TBL_SUB_RESULTS ts
LEFT JOIN
        TBL_FRIENDLY tf
ON      tf.id = ts.ccompid
WHERE   ts.user_submitted != '$_SESSION[username]'
        AND ts.home_user = '$_SESSION[username]' OR ts.away_user = '$_SESSION[username]'

為了進行調試,請嘗試將查詢打印到場景中。 檢查您在最終查詢中是否發現任何錯誤。 您可能只是拼錯了一個變量名。

<?php
$query = "SELECT * FROM ".TBL_SUB_RESULTS." WHERE user_submitted != '$_SESSION[username]' AND home_user = '$_SESSION[username]' OR away_user = '$_SESSION[username]'";
echo "query: ".$query;

$results = mysql_query($query);
// rest of code...

我認為您需要在WHERE子句中使用方括號:

WHERE user_submitted != '$_SESSION[username]' 
    AND (home_user = '$_SESSION[username]' 
        OR away_user = '$_SESSION[username]')

暫無
暫無

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

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