0

当我更新员工 ( colaborador ) 的项目 ( ativo ) 时,我需要检查数据库中是否存在用户输入的员工,如果不存在 - 给出错误消息。我不知道我该怎么做,你们能指点我一些解释它的教程吗?提前致谢! 这是我的查询顺便说一句:

 $pdo = Database::connect();

$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "UPDATE ativos SET ativo = ?, comentario = ?, data_aquisicao = ?,
                localizacao = ?, fabricante = ?, modelo = ?, 
                imei = ?, numero_serie = ?, ativo_sap = ?, 
                anexo_a = ?, evento = ?, data_evento = ?,
                id_colaborador = (SELECT id_colaborador 
                                    FROM colaboradores 
                                    WHERE nome = ? 
                                    LIMIT 1
                                  ) 
        WHERE id_ativo = ?";

$q = $pdo->prepare($sql);
$q->execute(array($ativo,$comentario,$data_aquisicao,$localizacao,
            $fabricante,$modelo,$imei,$numero_serie,$ativo_sap,
            $anexo_a,$evento,$data_evento,$id_colaborador,$id));

这是输入(我不知道是否需要验证该行是否存在)

<input autocomplete="off" name="id_colaborador" type="text"  placeholder="Nome do Colaborador" value="<?php echo !empty($nome)?$nome:'';?>" class='auto'>
4

1 回答 1

1

您的查询没有考虑同音异义词的可能性。因此,您最好使用一些 auto_complete 字段来根据名称获取“id_colaborador”并将其保存在隐藏的输入字段中,然后使用确切的值执行更新。

于 2018-12-18T10:07:41.187 回答