我刚刚跑进有趣的问题。我需要在参数数组中指定一个变量,但将其绑定到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