[英]SQL Syntax Error Using WHERE
我正在為我的網站創建一個消息傳遞系統,並且試圖向您的朋友展示,由於出現錯誤,我遇到了麻煩:
Select Friend: Invalid query: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELECT `user_two` FROM `friends` WHERE (`user_one`='2')' at line 1
這是我的PHP代碼:
mysql_connect("************", "*****", "**********");
mysql_select_db("******");
if(isset($_GET['user']) && !empty($_GET['user'])){
echo "Send Message To " . getuser($_GET['user'], 'first_name');
} else {
echo "Select Friend: ";
$my_id = $_SESSION['user_id'];
$friend_list = mysql_query("SELECT `user_one` FROM `friends` WHERE (`user_two`='$my_id') OR SELECT `user_two` FROM `friends` WHERE (`user_one`='$my_id')");
if (!$friend_list) { // add this check.
die('Invalid query: ' . mysql_error());
}
while($run_user = mysql_fetch_array($friend_list)){
if($run_user['user_one'] == $my_id){
echo "1";
} else {
echo "2";
}
}
}
這是我的朋友的表格結構:
`id` int(11) AUTO INCREMENT PRIMARY
`user_one` int(11)
`user_two` int(11)
我正在嘗試獲取朋友ID,並確保它不是我的,然后顯示我需要的信息,我對SQL有點生銹,所以請牢記這一點。
只需刪除查詢內部的括號即可...完成
首先,您不應該使用mysql_。 不推薦使用。 使用mysqli。
您的查詢是:
SELECT `user_one`
FROM `friends`
WHERE (`user_two`='$my_id') OR
SELECT `user_two`
FROM `friends`
WHERE (`user_one`='$my_id')
這沒有道理。 OR
不用於連接兩個查詢。 一種解決方案是使用union all
:
SELECT `user_one`
FROM `friends`
WHERE `user_two` = '$my_id'
UNION ALL
SELECT `user_two`
FROM `friends`
WHERE `user_one` = '$my_id';
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.