0
下面的查詢運行良好,運行速度非常快。但是它顯示了一些非常奇怪的行爲,如下所述。非常奇怪的PDO-> bindparam行爲php
然而在PHP中,它似乎決定了它自己的工作方式。我確信代碼是正確的。我在PHP中使用PDO並根據需要綁定變量。
因此,例如,如果我通過它的author_id 600它將工作,但如果我通過它author_id 2它將無法正常工作,並沒有記錄。但是,如果我回應查詢並將其粘貼到MySQL並運行它,它適用於這兩個ID。似乎PDO未能將變量綁定在某些ID上。我回應了id變量,它確實包含正確的id。
有沒有其他人經歷過這種行爲?我覺得這很不尋常。 !
SELECT
GROUP_CONCAT(a.author_id) AS author_ids
FROM
references_final AS rf
INNER JOIN (reference_authors AS ra INNER JOIN authors_final AS a ON (ra.author_id = a.author_id))
ON (rf.reference_id = ra.reference_id)
GROUP BY rf.reference_id HAVING :author_id IN (author_ids)
請將您的問題降到最低限度,並給它一個更具描述性的標題。 – hakre
您是否傾銷了這兩個ID的查詢? – markus
事實上,我已經把它們都傾倒了。它們看起來與上面相同,但因爲我使用的是PDO bindparam,所以我實際上不能在查詢字符串中轉儲值,但如果查詢是相同的,並且author_id變量的轉儲是相同的,那麼它們都應該是相同的,我會有想法。 – jiraiya