如何阅读以下关于pg_query_params
和pg_prepare
的代码?在这里我不想宣布两次准备好的语句了解PHP中的查询PG -prepared statemens
$result = pg_query_params ($dbconn,
"SELECT flagged_for_moderator_removal // unsure about Repetition here
FROM questions
WHERE question_id = $1",
array ($_GET['question_id']));
if (pg_num_rows ($result) == 0) {
$result = pg_prepare ($dbconn, "get_flagged_status_list",
"SELECT flagged_for_moderator_removal // unsure about Repetition here
FROM questions
WHERE question_id = $1"
);
}
这个问题是关系到my thread。
语句之间的区别在于另一个名称为get_flagged_status_list,而另一个没有。我理解的代码如下
Iteration | 1 2
----------------------------------------------------------------------
run pg_query_params run pg_qeury_params
run pg_prepare
run pg_execute run pg_execute
然而,事实却并非如此,因为代码运行在第二次迭代pg_prepare
了。 1.
我在函数内部有'pg_prepare'。 **如何限制准备声明的重新声明?** - 我显然需要删除* pg_query_params *。 – 2009-08-22 20:29:53
如果它在函数内部,则将pg_prepare调用移出函数(并移除pg_query_param),或者仅删除pg_prepare调用并仅使用pg_query_param。是否有你想使用pg_prepare的原因?它闻起来像过早的优化。 – 2009-08-22 21:01:07
非常感谢您的回答!这真的很有帮助。 – 2009-08-22 21:31:11