当我更新员工( 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'>
答案 0 :(得分:1)
您的查询未考虑同音异义词的可能性。因此,最好使用一些auto_complete字段根据名称获取“ id_colaborador”,并将其保留在隐藏的输入字段中,然后使用确切的值执行更新。