我正在使用phpmyadmin,我有一个触发器,在一个表中插入一些条目后执行,在该触发器中我调用一个php文件。但是我需要从触发器传递一个值到php文件..这可能吗?如果是这样建议我一些如何传递它的代码。(该值是表格中插入的新值)帮助我。谢谢!
答案 0 :(得分:1)
我不是phpmyadmin的专家,但是假设您使用触发器调用您的php文件,如下所示:
dosomething.php
您可以像这样传递$_GET
变量:
dosomething.php?username=john
然后您可以在dosomething.php中访问此变量,如下所示:
$username = $_GET['username'];
如果你愿意
echo $ username;
它将返回john
答案 1 :(得分:0)
触发器无法返回数据,但它可以更改新插入或更新的记录的值(如果它是BEFORE
触发器),也可以更改其他表。
因此,您可以创建一个日志记录表,在触发器中写入一些数据(以某种方式将它们链接到新插入的记录),然后在单独的查询中从PHP
读取该数据。
答案 2 :(得分:0)
是的,可能 - 使用具有禁用自动提交的会话变量。
MySQL的:
CREATE TABLE `vtest` (
`id` INTEGER(11) NOT NULL AUTO_INCREMENT,
`x` VARCHAR(20) COLLATE utf8_general_ci DEFAULT ''
) ;
CREATE TRIGGER `trg_vtest_before_ins` BEFORE INSERT ON `vtest`
FOR EACH ROW
BEGIN
set @x=new.x;
END;
PHP:
$this->db->query("replace into vtest values(1,2)");
if ($res = $this->db->query ( "select @x as x" )) {
while ( $obj = $res->fetch_object () ) {
print_r($obj);
}
$res->close ();
}
$this->db->commit();