Проверьте, существует ли значение в базе данных Mysql при переполнении стека

Когда я обновляю элемент (ativo) работника (colaborador) Мне нужно проверить, существует ли у сотрудника, что пользовательский ввод существует или нет в БД, а если нет — выдает сообщение об ошибке. Я не знаю, как я могу это сделать, ребята, можете ли вы указать мне какой-нибудь учебник, который объясняет это? Заранее спасибо!
Это мой запрос между прочим:

 $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

Решение

Ваш запрос не рассматривает возможность омонимов. Итак, вам лучше использовать поле auto_complete, чтобы получить id_colaborador на основе имени и сохранить его в скрытом поле ввода, а затем выполнить обновление с точными значениями.

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector