Wie lesen Sie den folgenden Code über pg_query_params
und pg_prepare
?Um Abfragen in PHP zu verstehen PG -vorbereitete Statements
$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"
);
}
Diese Frage bezieht sich auf my thread wo ich möchte nicht zweimal die vorbereitete Anweisung erklären.
Der Unterschied zwischen Anweisungen ist, dass der andere einen Namen hat get_flagged_status_list, während der andere nicht. Ich kann das verstehen, wie
Iteration | 1 2
----------------------------------------------------------------------
run pg_query_params run pg_qeury_params
run pg_prepare
run pg_execute run pg_execute
jedoch folgt, ist dies nicht der Fall, da der Code zu pg_prepare
in der zweiten Iteration läuft. 1.
Ich habe das 'pg_prepare' in einer Funktion. ** Wie können Sie die erneute Deklaration der vorbereiteten Aussage einschränken? ** - Ich muss natürlich die * pg_query_params * entfernen. –
Wenn es sich innerhalb einer Funktion befindet, verschieben Sie entweder den Aufruf pg_prepare außerhalb der Funktion (und entfernen Sie pg_query_param), oder entfernen Sie einfach den Aufruf pg_prepare, und verwenden Sie nur pg_query_param. Gibt es einen Grund, warum du pg_prepare benutzen willst? Es riecht nach voreiliger Optimierung. –
Vielen Dank für Ihre Antwort! Es ist sehr hilfreich. –