php - подготовленные заявления. Правильно ли связывать после исполнения? - PullRequest
0 голосов
/ 17 ноября 2018

По поводу "подготовленных высказываний" в php,
Я нашел здесь в официальной документации php этот фрагмент кода, который я не понимаю.

/* execute statement */
$stmt->execute();

/* bind result variables */
$stmt->bind_result($name, $code);

Сначала я всегда видел «связывание», а затем «исполнение».

Может кто-нибудь сказать мне, почему в этом случае, наоборот?

Спасибо.

1 Ответ

0 голосов
/ 17 ноября 2018

Связывание «параметров» и связывание «результатов» - это две разные вещи.

Вы должны связать параметры перед выполнением, потому что параметры будут использоваться во время выполнения.

Тем не менее, у вас естьрезультат в объекте $ stmt после выполнения, и если вы хотите использовать столбцы из результата, вы привязываете результаты к переменным.

Итак, вот шаги:

  1. привязать параметры к объекту $ stmt

    $ stmt-> bind_param (...)

  2. выполнить подготовленный оператор

    $ stmt-> execute ()

  3. привязать столбцы из результата к переменным

    $ stmt-> bind_result (...)

...