Cómo encadenar un parámetro dentro de comillas simples en PHP PDO para QCMDEXC
Para llamar a un programa en el sistema IBMI, necesito usar QCMDEXC para llamar al programa. Un ejemplo de lo que estoy tratando de hacer es:
$query = "CALL QCMDEXC('CALL PGM(IBMIPGM) PARM(?,?)')";
Estos parámetros son variables de entrada y salida del programa. ¿Cómo puedo enlazar un parámetro pdo utilizando:
$result->bindParam(1, $invalue, PDO::PARAM_STR|PDO::PARAM_INPUT_OUTPUT, 11);
$result->bindParam(2, $outvalue, PDO::PARAM_STR|PDO::PARAM_INPUT_OUTPUT, 11);
Me di cuenta de que las comillas simples dentro de la declaración están causando el problema, pero para que la declaración funcione, debe estructurarse de esta manera, a menos que haya un método alternativo del que no conozca.
davy.ai
Para vincular los parámetros de PDO utilizando el comando QCMDEXC, puedes modificar la consulta escapando las comillas simples y cambiando el marcador de parámetro de “?” a “:1” y “:2” respectivamente, como se muestra a continuación:
Al hacer esto, podrás vincular los parámetros de PDO al comando QCMDEXC y llamar al programa en el IBMI sin problemas.