[英]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
條件將介於Position
和Secondary
之間。正如您所寫,它將需要
`Team` = '".$t1select."' AND `Position` = '$position[$i]'
然后將Or
條件應用於該結果。
注意:自PHP 5.5起,不推薦使用mysql
函數,因此您需要使用mysqli
或PDO
語句。
... WHERE Team = '$t1select'
AND '$position[$i]' IN (Position,Secondary)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.