¿Cuándo llamo a bind_param si uso declaraciones preparadas de MySQLi en un bucle?

Estoy tratando de aprender a usar sentencias preparadas con MySQLi para insertar datos.

A pesar de que las declaraciones preparadas son elogiadas por su capacidad para ejecutar de manera eficiente declaraciones similares repetidamente, parece que no puedo encontrar ejemplos de ejecución de varias declaraciones en un bucle usando MySQLi. Soy especialmenteconfundido acerca de lo siguiente:

si llamarbind_param antes de mi bucle o dentro de mi buclesi debo asignar valores a mis variables antes o después de la llamada abind_param

La mayoría de los tutoriales sobre declaraciones preparadas usan DOP. Con PDO, una matriz de valores de parámetros se puede pasar aexecute, eliminando la necesidad de llamarbindParam. Este no es el caso con MySQLi.

El manual de PHPmysqli_prepare La entrada tiene un ejemplo que muestra el siguiente orden de operaciones:

asignar valores a las variablespreparar declaraciónvariables de enlaceejecutarcerrar

A juzgar por lo anterior, había asumido que tendría que llamar a la instrucción de enlace dentro de mi bucle.

Sin embargo, el manual de PHPmysqli_stmt_execute La entrada tiene un ejemplo que muestra el siguiente orden de operaciones:

preparar declaraciónvariables de enlaceasignar valores a las variablesejecutarasignar valores a las variablesejecutarcerrar

Tenga en cuenta que una cosa que este ejemplo no muestra es dónde se declaran primero las variables. Pensé pasar variables no declaradas abind_param generaría un aviso. Finalmente me di cuenta de que puedo pasar variables no definidas porque se pasan por referencia.

Pregunta:
¿Se prefiere una orden de operaciones sobre la otra? ¿O simplemente depende de lo que estás haciendo? ¿Hay alguna trampa con uno u otro?

Nota: El código ya usa MySQLi y no quiero cambiar a PDO (el cambio ahora está fuera del alcance de este proyecto).

Respuestas a la pregunta(1)

Su respuesta a la pregunta