我正在尝试创建一个log
表,以注册用户在我的应用程序上进行的所有事件(创建和更新记录)。
到目前为止,我可以在log
表上注册创建记录的用户,但是现在当用户更新某些内容时,我需要为log
表创建新的注册,例如:用户Mike注册向员工Kyle发送电话的恶魔(到目前为止,该操作正常),但是用户Mike注册了员工Kyle退还了该电话。 (该日志现在应注册更新,但会在log
表上添加新记录。
谢谢!
到目前为止我有这个
$pdo = Database::connect();
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "INSERT INTO ativos (ativo,comentario,data_aquisicao,localizacao,fabricante,modelo,imei,
numero_serie,ativo_sap,evento,data_evento,id_colaborador)
SELECT ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, id_colaborador
FROM colaboradores
WHERE nome = ?";
$q = $pdo->prepare($sql);
$q->execute(array($ativo,$comentario,$data_aquisicao,$localizacao,$fabricante,$modelo,$imei,$numero_serie,$ativo_sap,$evento,$data_evento,$id_colaborador));
if ($q) {
//get last ID that was generated by previos insert
$id_ativo = $pdo->lastInsertId();
}
$log = "INSERT INTO log_ativos (acao_log,data_log,id_ativo,id_colaborador)
SELECT ?,?,?, id_colaborador
FROM colaboradores
WHERE nome = ?";
$qlog = $pdo->prepare($log);
$qlog->execute(array($acao_log2,$data_log2,$id_ativo,$id_colaborador));
Database::disconnect();
当我更新log
表的主记录时,它并没有在ativos
表上创建新记录
答案 0 :(得分:1)
我认为这是由于试图在colaboradores
中查找一条记录,其中nome
等于$id_colaborador
,如果最后一个值是实际ID,则直接将其插入... < / p>
$log = "INSERT INTO log_ativos (acao_log,data_log,id_ativo,id_colaborador)
VALUES(?,?,?,?)";
$qlog = $pdo->prepare($log);
$qlog->execute(array($acao_log2,$data_log2,$id_ativo,$id_colaborador));