drx 0 Denunciar post Postado Maio 27, 2015 Olá pessoal ! Eu tenho uma tabela e tenho 3 linhas já populadas. Nessas linhas eu tenho um controle 1, 2 e 3 respectivamente em cada linha. Tenho de inserir o nome do vídeo1, 2 e 3 na mesma linha. Isto vai acontecer nas 3 linhas. Como que eu insiro com "mysql pdo" sem criar nova linha e preencher somente o campo vídeo da tabela? // Recupera os dados dos campos do html $controle = $_POST["controle"]; // esta variável eu seleciono em um select option $vid = $_POST["videos"]; // esta variável eu seleciono em um select option controle dia evento video1 video2 video3 1 10 aaaaaaaa inserir aquí inserir aquí inserir aquí 2 20 bbbbbbbb 3 25 ccccccccc Neste caso eu posso colocar algum parâmetro a mais, tipo where controle= $controle and video=$vid ? // insert com PDO $stmt = $pdo->prepare('INSERT INTO tabela (controle, vid) VALUE (:controle, :videos)'); $stmt->bindValue(':controle', $controle); $stmt->bindValue(':videos', $vid); $vid = 'vid'; $stmt->execute(); Desde já agradeço !!! Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Maio 28, 2015 Você deseja atualizar um campo, não inserir, certo? Então use o comando UPDATE, não INSERT. Compartilhar este post Link para o post Compartilhar em outros sites
drx 0 Denunciar post Postado Maio 28, 2015 ok ! Vou tentar com o update. Por hora, muito obrigado pela ajuda. Compartilhar este post Link para o post Compartilhar em outros sites
drx 0 Denunciar post Postado Maio 28, 2015 Olá Beraldo! Não estou conseguindo atualizar. Veja bem: // Recupera os dados dos campos do html $controle = $_POST["controle2"]; // esta variável eu seleciono em um select option $vid = $_POST["videos"]; // esta variável eu seleciono em um select option (nome do campo) //Realizando a consulta e a atualização no campo $atualizar=$pdo->prepare("UPDATE tabela SET videos = :vid WHERE controle = :controle2"); $atualizar->bindValue(":controle2", $controle); $atualizar->bindValue(":videos", $vid); $atualizar->execute(); Ou seja; o campo que está vazio e deve ser preenchido é: $vid que é igual ao campo "video-1", por exemplo. Então ele vai procurar pelo campo "controle" e pelo campo "vid" campos---> controle dia evento video-1 video-2 video-3 conteúdo--> 1 10 aaaaaaaa nome vídeo nome vídeo nome vídeo 2 20 bbbbbbbb 3 25 ccccccccc Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Maio 28, 2015 O nome da tabela é "tabela" mesmo? :unsure: Habilite todas as exibições de erro como mostrado neste tópico. Também use errorInfo para verificar se o PDO retornou erros. Veja exemplos aqui: http://www.ultimatephp.com.br/como-usar-pdo-com-banco-de-dados-mysql/ Compartilhar este post Link para o post Compartilhar em outros sites
drx 0 Denunciar post Postado Maio 28, 2015 Não. É só exemplo. O nome é "w_aconteceu" Compartilhar este post Link para o post Compartilhar em outros sites
Fernando C 128 Denunciar post Postado Maio 28, 2015 verifique também a sintaxe da instrução update; nesse seu exemplo: "UPDATE tabela SET videos = :vid WHERE controle = :controle2" veja que nessa tabela não há a coluna "videos": campos---> controle dia evento video-1 video-2 video-3 conteúdo--> 1 10 aaaaaaaa nome vídeo nome vídeo nome vídeo 2 20 bbbbbbbb 3 25 ccccccccc Compartilhar este post Link para o post Compartilhar em outros sites
drx 0 Denunciar post Postado Maio 28, 2015 Bem lembrado Fernando, porém o php não entende como campo um valor do select option ? Por exemplo: uma seleção "video-1" e passada como variável igual mostrei no post acima >>>>>>> $vid = $_POST["videos"]; // esta variável eu seleciono em um select option (nome do campo) Senão terei de fazer estaticamente. Como eu atualizaria os campos video-1, video-2, video-3 ? Dede já agradeço. Compartilhar este post Link para o post Compartilhar em outros sites