简体   繁体   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>";
        }

    ?> 

I am trying to run two queries as you can see. 如您所见,我正在尝试运行两个查询。 But they aren't both working. 但是他们俩都不工作。 Is there a better way to structure this, I am having a brain freeze! 有没有更好的方法来解决这个问题,我的大脑冻结了! Thanks 谢谢

OOOH by the way, my SQL wont stay in this form! OOOH,顺便说一句,我的SQL不会保留这种形式! I will protect it afterwards 以后我会保护的

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]'

For debuging purposes, try to print your queries to the sceen. 为了进行调试,请尝试将查询打印到场景中。 Check if you find any errors in your final query. 检查您在最终查询中是否发现任何错误。 You might just have misspelled a variable name. 您可能只是拼错了一个变量名。

<?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...

I think you need brackets in your WHERE clause: 我认为您需要在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