Question : Un script ou une fonction PHP peut-il être exécuté lorsqu'un enregistrement est inséré dans un MySQL table de base de données, même si la procédure d'insertion d'enregistrement n'est pas sous le contrôle de l'utilisateur ? Existe-t-il un mécanisme de déclenchement qui peut provoquer cela ?
Réponse :
Dans ce scénario, le déclencheur est exécuté sur le serveur MySQL, pas sur le serveur PHP. Par conséquent, il n'est pas directement possible d'invoquer un script PHP.
Cependant, selon la FAQ MySQL sur les déclencheurs, les déclencheurs peuvent appeler des applications externes via une UDF (fonction définie par l'utilisateur).
Plus précisément. , les déclencheurs peuvent exploiter l'UDF sys_exec(). Cette fonction permet l'exécution de commandes externes, y compris des scripts PHP.
Mise en œuvre :
Bien que le processus ne soit pas simple, il est possible de configurer une UDF pour lancez un exécutable ou un script PHP. Cela nécessite :
En utilisant l'UDF sys_exec(), les déclencheurs peuvent appeler des programmes externes, offrant ainsi une solution de contournement potentielle pour appeler des scripts PHP lorsque des enregistrements de base de données sont insérés.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!