我剛剛跑進有趣的問題。我需要在參數數組中指定一個變量,但將其綁定到SQL查詢中的每個事件,我已經使用此屬性實現了這一點:$conn->setAttribute(PDO::ATTR_EMULATE_PREPARES, TRUE);
。但是,當我使用它,在它LIMIT另一個查詢不工作,因爲我需要指定$conn->setAttribute(PDO::ATTR_EMULATE_PREPARES, FALSE);
得到它工作正常(PDO這樣處理它作爲INT,不串)。我還試圖用結合bindValue功能與PDO :: PARAM_INT但仍然不處理限值爲INT。PDO :: ATTR_EMULATE_PREPARES(多種綁定和限制)
1
A
回答
0
但是當我使用這一點,在它LIMIT另一個查詢不起作用
您可以即時更改仿真模式,在需要時打開或關閉仿真模式。
我也嘗試將bindValue函數與PDO :: PARAM_INT結合使用,但仍然不處理LIMIT值作爲INT。
確保您確實將值轉換爲明確的int值,如PDO doesn't cast them for PDO::PARAM_INT。
0
array (size=5)
':audit_id' => string '1' (length=1)
':audit_id1' => string '1' (length=1)
':audit_id2' => string '1' (length=1)
':audit_id3' => string '1' (length=1)
':audit_id4' => string '1' (length=1)
db_query:
SELECT TYP,OSOBA,o.JMENO FROM ((SELECT 'd.auditor_prihlasen' AS TYP, prihlasena_osoba_id AS osoba FROM dotaznik d WHERE audit_id = :audit_id AND prihlasena_osoba_id > 0) UNION (SELECT 'd.auditor_vyroba' AS TYP, auditor_vyroba_id AS osoba FROM dotaznik d WHERE audit_id = :audit_id1 AND auditor_vyroba_id > 0) UNION (SELECT 'd.auditor_kvalita' AS TYP, auditor_kvalita_id AS osoba FROM dotaznik d WHERE audit_id = :audit_id2 AND auditor_kvalita_id > 0) UNION (SELECT 'od.odpovedna_osoba' AS TYP, odpovedna_osoba_id AS osoba FROM odpoved od WHERE tema_id IN(SELECT id FROM tema WHERE audit_id = :audit_id3)) UNION (SELECT 'od.odpovedna_osoba' AS TYP, odpovedna_osoba_id_puvodni AS osoba FROM odpoved od WHERE tema_id IN(SELECT id FROM tema WHERE audit_id = :audit_id4) AND odpovedna_osoba_id_puvodni > 0)) tbls, osoba o WHERE o.id = osoba GROUP BY typ, osoba, jmeno
我想查詢到無audit_id1運行,audit_id2等。所以他們都將只使用一個變量audit_id
+1
請**更新您的問題**的新信息,不發佈它的答案。 – deceze
相關問題
- 1. PDO :: ATTR_EMULATE_PREPARES問題
- 2. PDO :: ATTR_EMULATE_PREPARES =>假
- 3. PDO MySQL:是否使用PDO :: ATTR_EMULATE_PREPARES?
- 4. 多種綁定
- 5. 受PostgreSQL中ATTR_EMULATE_PREPARES影響的PDO異常
- 6. 錯誤處理對於PDO :: ATTR_EMULATE_PREPARES =>假
- 7. 爲什麼不能禁用PDO :: ATTR_EMULATE_PREPARES?
- 8. 綁定參數和PDO
- 9. 使用PHP綁定PDO查詢的限制數
- 10. Android綁定限制
- 11. NSFetchedResultController多種限制和排序
- 12. 揹包多種限制
- 13. php pdo綁定多個值問題
- 14. 在pdo中綁定多個值
- 15. PDO ::綁定變量
- 16. PDO綁定錯誤
- 17. PDO綁定問題
- 18. PHP - PDO - Oracle和Phonegap:SESSIONS_PER_USER限制錯誤
- 19. MVC模型綁定限制
- 20. PDO與MYSQLI,PrepaStatemens和綁定參數
- 21. PDO綁定數據類型和比較
- 22. PHP PDO內存限制
- 23. 在$ PDO_OPTIONS中將PDO :: ATTR_EMULATE_PREPARES設置爲False時出錯
- 24. 爲什麼要使用ATTR_EMULATE_PREPARES,是mysql_real_escape_string的任何選擇?在PDO
- 25. 如何在ATTR_EMULATE_PREPARES關閉時模擬PDO中的DEFAULT參數?
- 26. 將PDO :: ATTR_EMULATE_PREPARES設置爲false不起作用
- 27. Knockout.js - 如何限制自定義綁定
- 28. PDO默認使用哪種綁定類型?
- 29. PDO綁定PARAMS循環
- 30. 綁定幾列在PDO
請出示的你想要達到的一個樣本。應該有完全沒有必要不同的仿真設置之間進行切換,仿真應始終處於關閉狀態,除非絕對不可避免。這只是意味着你需要制定你的查詢中,沒有模擬/可與任何一種形式的一種方式。你只是擊中邊的情況下出現,並沒有看到究竟是什麼很難幫助你。 – deceze