簡體   English   中英

PHP查詢給出了錯誤的結果

[英]PHP query giving wrong results

這是一個關於上一個問題的后續問題,我問SQL查詢返回錯誤的結果

問題的快速背景

在我的網站上,用戶可以從32名玩家中選出一名玩家。 首發陣容中有15個位置,因此在32名球員陣容中需要選擇15名球員。 1名玩家可以玩多個位置

當我運行以下PHP查詢時

$sql1 = mysql_query("SELECT * FROM `allsquads` WHERE `Team` = '$t1select' 
                    AND `Position` = '$position[$i]' 
                    OR `Secondary` = '$position[$i]'") or die(mysql_error());

問題

查詢有效,但它不會返回僅來自用戶所選團隊的$t1select玩家,它會顯示我數據庫中所有團隊的玩家。

知道如何解決這個或為什么會發生這種情況。

先感謝您

也許你應該寫你的查詢

$sql1 = mysql_query("SELECT * FROM `allsquads` WHERE `Team` = '".$t1select."' 
                AND ( `Position` = '$position[$i]' 
                OR `Secondary` = '$position[$i]' ) ") or die(mysql_error());

因為您的OR條件將介於PositionSecondary之間。正如您所寫,它將需要

`Team` = '".$t1select."' AND `Position` = '$position[$i]'

然后將Or條件應用於該結果。

注意:自PHP 5.5起,不推薦使用mysql函數,因此您需要使用mysqliPDO語句。

... WHERE Team = '$t1select'
            AND '$position[$i]' IN (Position,Secondary)

暫無
暫無

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

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