我使用pgpool-ii 3.2.1,php 5.3.3-7 + squeeze14,postgresql 8.4.13。
我对PDO进行的插入查询有些麻烦,但我不明白问题出在哪里因为没有写日志(postgres,apache2,pgpool-II)。
查询非常简单,就像
INSERT INTO table (column1, column2, ...) VALUES ('value1', 'value2', ...)如果我禁用pgpool-II(启用PDO)一切顺利,即使我禁用PDO,使用pg_query执行查询(打开pgpool-II),查询也正确执行。 其他类似的查询与PDO + pgpool-ii一样正常。任何人都可以帮助我吗?
I use pgpool-ii 3.2.1, php 5.3.3-7+squeeze14, postgresql 8.4.13.
I have some trouble with an insert query made by PDO, but I don't understand where the problem is because no log was written (postgres, apache2, pgpool-II).
The query is very simple, like
INSERT INTO table (column1, column2, ...) VALUES ('value1', 'value2', ...)if I disable pgpool-II (with PDO enabled) everything goes fine, even if I disable PDO, doing the query with pg_query (with pgpool-II turned on), the queries were executed correctly. Other similar queries goes fine with PDO + pgpool-ii..anybody can help me?
最满意答案
请检查您的PDO设置
setAttribute(PDO::ATTR_EMULATE_PREPARES, true);如果你调用beginTransaction(); ,别忘了调用commit();
但实际上,如果您已将PDO::ATTR_EMULATE_PREPARES设置为TRUE ,则无需调用beginTransaction(); 和commit();
Please check your PDO Setting
setAttribute(PDO::ATTR_EMULATE_PREPARES, true);And if you call beginTransaction();, dont forget to call commit();
But actually, if you already set PDO::ATTR_EMULATE_PREPARES to TRUE, you don't need to call beginTransaction(); and commit();
更多推荐
发布评论