1
我原本有一個SQL語句,這樣的:分配相同的參數值在PDO多次執行
SELECT *, COUNT(friend_one) AS pending_count , COUNT(friend_two) AS requests_sent
FROM friends
WHERE friend_one OR friend_two = ?
AND status = ?
在我指定我的參數,如:
$pending_friend_count_stmt->execute(array($user_id, $status_one));
但是,查詢不得到我想要的結果。有人向我展示了一種不同的方式,但它多次使用變量$user_id
,所以我不知道如何調整代碼以使用參數。
這裏你可以看到新的查詢:在你的問題然而
我是否能夠只是做
SELECT COUNT(CASE WHEN `friend_one` = ? THEN 1 END) as `requests_count`,
COUNT(CASE WHEN `friend_two` = ? THEN 1 END) as `pending_count`
FROM `friends`
WHERE ? IN (`friend_one` , `friend_two`)
AND `status` = ?
$pending_friend_count_stmt->execute(array($user_id, $user_id, $user_id $status_one));
使用命名參數':userid'而不是''餵奶時'[ '用戶id'=> $ USER_ID]'執行。 – Xorifelse
@Xorifelse我可以把它們放在執行中嗎? execute(array(':userid',$ user_id,$ status_one)); – Paul
更新了評論,但請記住,你不能混用它們,所以都必須命名。 – Xorifelse