因此,我尝试用外键在php crud上插入数据,但不是输入数字(即fk),而是输入一个名称
我有以下代码:
// Inserir os dados
if ($valid) {
$pdo = Dat abase::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,anexo_a,evento,data_evento,id_colaborador) values(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
$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));
Database::disconnect();
header("Location: index.php");
}
}
我已经试过了,但没用
if ($valid) {
$pdo = Dat abase::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,anexo_a,evento,data_evento,id_colaborador) values(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? (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,$anexo_a,$evento,$data_evento,$id_colaborador));
Database::disconnect();
header("Location: index.php");
}
笔记 id_colaborador
是外键吗
1条答案
按热度按时间fsi0uk1n1#
您最好传入id,但如果需要使用名称,则需要稍微更改插入的格式(请参阅插入。。。选择。。。
所以select将所有参数都作为值,然后它只从另一个表中选择id(id\u colaborador)。