gpt4 book ai didi

php - 具有多个 WHERE 和 SELECT 条件的更新 - MySql

转载 作者:行者123 更新时间:2023-11-29 07:26:12 26 4
gpt4 key购买 nike

所以,我有两个表 ativoscolaboradores,它们在我的更新页面上由 id_colaborador (FK) 链接,我是能够更改 id_colaborador 但不是更改 ID 我想 write the nameID 匹配但我想我需要多个 WHERE 条件和 SELECT,有人可以帮我吗?谢谢!我有以下代码要更新

$sql = "UPDATE ativos  SET ativo = ?, comentario = ?, data_aquisicao = ?, localizacao = ?, fabricante = ?, modelo = ?, imei = ?, 
numero_serie = ?, ativo_sap = ?, anexo_a = ?, evento = ?, data_evento = ?, SELECT id_colaborador FROM colaboradores WHERE nome = ? AND WHERE id_ativo = ?";

更新
我已经尝试像这样分离这两个语句:

$sql = "UPDATE ativos  SET ativo = ?, comentario = ?, data_aquisicao = ?, localizacao = ?, fabricante = ?, modelo = ?, imei = ?, 
numero_serie = ?, ativo_sap = ?, anexo_a = ?, evento = ?, data_evento = ?, id_colaborador = ? WHERE id_ativo = ?";
$sql2 = "SELECT id_colaborador FROM colaboradores WHERE nome = ?";
$q = $pdo->prepare($sql,$sql2);

但它给了我以下错误:

Warning: PDO::prepare() expects parameter 2 to be array, string given in C:\xampp\htdocs\gestao\Colaboradores\ativo_update.php on line 120

Fatal error: Uncaught Error: Call to a member function execute() on boolean in C:\xampp\htdocs\gestao\Colaboradores\ativo_update.php:121 Stack trace: #0 {main} thrown in C:\xampp\htdocs\gestao\Colaboradores\ativo_update.php on line 121

最佳答案

您可以使用子查询,因为我知道您想按名称更新不在同一个表中的名称好吧,您可以检查下面的查询:

$sql = "UPDATE ativos  SET ativo = ?, comentario = ?, data_aquisicao = ?, localizacao = ?, fabricante = ?, modelo = ?, imei = ?, 
numero_serie = ?, ativo_sap = ?, anexo_a = ?, evento = ?, data_evento = ? WHERE id_colaborador in (SELECT id_colaborador FROM colaboradores WHERE nome = ?) and id_ativo = ?";

@ADyson 在评论中有解决方案,它也按名称更新了 id_colaborador :

$sql = "UPDATE ativos SET ativo = ?, comentario = ?, data_aquisicao = ?, localizacao = ?, fabricante = ?, modelo = ?, imei = ?, numero_serie = ?, ativo_sap = ?, anexo_a = ?, evento = ?, data_evento = ?, id_colabarador = (SELECT id_colaborador FROM colaboradores WHERE nome = ? LIMIT 1) WHERE id_ativo = ?";

关于php - 具有多个 WHERE 和 SELECT 条件的更新 - MySql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53631331/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com