[Php] ¿Hay alguna manera de vincular una matriz a mysqli prepare



Answers

mysqli_stmt::bind_param() tomará una cantidad variable de argumentos

Asumiendo que $this->paramTypes es también una matriz que contiene el tipo de letra correcto para cada variable (una de 'i', 'd', 's', 'b'), podrías hacer algo como

$params = $this->paramValues;
array_unshift($params, implode($this->paramTypes));
call_user_func_array( array( $stmt, 'bind_param' ), $params);

Esencialmente, usted crea una matriz de los parámetros que normalmente pasaría a bind_param () y luego realiza la llamada usando call_user_func_array()

Puede haber una manera mucho mejor de hacer esto

Editar : me acabo de dar cuenta de que me golpearon mientras escribía esto. Dejaré esta respuesta aquí por ahora en caso de que sea de interés.

Question

Intento crear una clase que ejecute cualquiera de una serie de procedimientos almacenados con cualquier cantidad de variables

Estoy usando php y mysqli

  • Mi clase enumera una matriz y construye una cadena en función del número de elementos, si corresponde
  • dando algo como esto CALL spTestLogin(?,?) por ejemplo
  • Ahora necesito vincular la entrada de mi matriz usando algo como esto:

    $ stmt-> bind_param ($ this-> paramTypes, $ this-> paramValues); // paramValues ​​es mi matriz

Entonces, si eso funciona, puedo trabajar para obtener mis resultados

Algunas ideas




Links