gpt4 book ai didi

mysql - 将 PHP 变量传递给 MySQL 触发器#nette

转载 作者:行者123 更新时间:2023-11-29 17:25:57 26 4
gpt4 key购买 nike

我在数据库中创建了触发器。我需要将 PHP 变量传递给该触发器。

我尝试在 PhpMyAdmin 中执行类似的操作:

SET @myVariable = 123;
INSERT INTO table (foo) VALUES (bar);

触发器成功获取@myVariable - 所以我在Nette项目中尝试了它,但没有成功。

首先,Prepared Statement 只能执行一个命令,因此我无法同时调用 SET 和 INSERT。

然后我发现变量应该对整个连接有效,所以我尝试在连接到数据库后调用 $database->query('SET @myVariable = 123'); 。然后我尝试插入。但我还是没有成功。

有人知道如何将 PHP 变量传递给触发器吗?

最佳答案

对于设置变量,适合使用 QUERY 命令。切勿连接字符串,始终添加带问号的参数(SQL注入(inject)漏洞)

$database->query('SET @myVariable = ?', 123);
$database->query('INSERT INTO table ?', ['foo' => bar]);

关于mysql - 将 PHP 变量传递给 MySQL 触发器#nette,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50967147/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com