-1
我可以優化此代碼嗎?
mysqli_stmt_bind_param($statement, "iiiiiii", $user, $user, $user, $user, $user, $user, $user);
PHP - 在mysqli綁定參數中的相同值
用於此請求:
$statement = mysqli_prepare($conn, "SELECT u_id, u_lastname, u_firstname,
(SELECT f_id from friend where (f_friend_one = u_id AND f_friend_two = ?) OR (f_friend_one = ? AND f_friend_two = u_id)),
(SELECT f_type from friend where (f_friend_one = u_id AND f_friend_two = ?) OR (f_friend_one = ? AND f_friend_two = u_id))
FROM user
WHERE ((u_id = (SELECT f_friend_one FROM friend WHERE f_friend_one = u_id AND f_friend_two = ? AND (f_type = 1 OR f_type = 4)))
OR (u_id = (SELECT f_friend_two FROM friend WHERE f_friend_one = ? AND f_friend_two = u_id AND (f_type = 1 OR f_type = 3))))
AND u_id != ? ")
or die(mysqli_error($conn));
可能不會使運行時間有差別,但我敢肯定,你會縮短查詢,但是,因爲它沒有包括... – Devon
查詢很可能被簡化成'JOIN'所以您不必重複所有這些查詢。我試圖弄清楚它在做什麼。 – Barmar
查詢獲取朋友信息,如果他們是朋友:我有一個有三列的朋友表:id,f_friend_one(發送邀請的用戶),f_friend_two。 – Okn