Jump to content


Photo

Perl Com Mysql


  • Faça o login para participar
23 replies to this topic

#1 jgcl

jgcl

    João Gabriel C. Laass, Serra/ES

  • Usuários
  • 559 posts
  • Sexo:Não informado
  • Localidade:Serra / ES
  • Interesses:Tudo!

Posted 08/02/2005, 19:42

Fala pessoal.

To usando o módulo DBI pra fazer conexão com um banco de dados mySQL, usando o seguinte código:

#!/usr/bin/perl

use DBI;
use CGI::Carp qw(fatalsToBrowser);
print "Content-type: text/html\n\n";

$host = "localhost"; # Host do MySQL
$database = "teste"; # Database do MySQL
$usuario = "root"; # Usuário do MySQL
$senha = ""; # Senha do usuário do MySQL

$dbh = DBI->connect("DBI:mysql:database=$database;host=$host", "$usuario", "$senha", {'RaiseError' => 1});

$sth = $dbh->prepare("DELETE FROM `tabela` WHERE id='9999'");
$sth->execute();
$sth->finish();
$dbh->disconnect();

print qq~
tudo ok
~;

Se repararem, o SQL faz a seguinte condição:
deletar da tabela quando id for igual a "9999".

só que não existe um id igual a "9999" em minha tabela... então teria que dar erro... mas não dá.

o que eu faço?
João Gabriel
Site >> joaogabriel.org
CGiClube.net >> http://www.cgiclube.net
Vitória Perl Mongers >> http://vitoria.pm.org

#2 jgcl

jgcl

    João Gabriel C. Laass, Serra/ES

  • Usuários
  • 559 posts
  • Sexo:Não informado
  • Localidade:Serra / ES
  • Interesses:Tudo!

Posted 10/02/2005, 08:00

help-me!!
João Gabriel
Site >> joaogabriel.org
CGiClube.net >> http://www.cgiclube.net
Vitória Perl Mongers >> http://vitoria.pm.org

#3 Gabriel

Gabriel

    CGI & PHP até Morre!!!!

  • Usuários
  • 573 posts
  • Sexo:Não informado
  • Localidade:Santo Andre-SP
  • Interesses:http://www.divulgue-me.com

Posted 10/02/2005, 11:24

usa "if" para validar

flw
Editado pela equipe Forum Wmo, favor ler as regras.

#4 jgcl

jgcl

    João Gabriel C. Laass, Serra/ES

  • Usuários
  • 559 posts
  • Sexo:Não informado
  • Localidade:Serra / ES
  • Interesses:Tudo!

Posted 10/02/2005, 15:48

usa "if" para validar

flw

como? explique..
João Gabriel
Site >> joaogabriel.org
CGiClube.net >> http://www.cgiclube.net
Vitória Perl Mongers >> http://vitoria.pm.org

#5 Whitesnake

Whitesnake
  • Visitantes

Posted 10/02/2005, 17:41

Com IF mesmo hehehe basta raciocinar um pokin q dá pra fz tranquilz...veja:

#!/usr/bin/perl
use DBI;

$id=2;

$db = DBI->connect('DBI:mysql:test','root','',{RaiseError => 1, AutoCommit => 1});
$dbi = $db->prepare ("SELECT id FROM novo WHERE id=$id ORDER BY 'id'");
$dbi->execute;

while ( (@tabela) = $dbi->fetchrow_array ){
@valores = map {defined $_ ? $_ : "(null)"} @tabela ;
$line = join (', ', @valores) ;
}


if ($line){
$dbi = $db->prepare("DELETE FROM novo WHERE id=$id");
print "Content-type: text/html\n\n";
print "Parabéns, o id <b>$id</b> foi removido de nosso banco de dados com sucesso!<br>";
}else{
print "Content-type: text/html\n\n";
print "Desculpe mas o id <b>$id</b> não está cadastrado em nosso banco de dados.";
}

$dbi->execute();
$db->disconnect;




help-me!!


Não é permitido dar Up em tópicos. Dá próxima é warn, avisado?


Falow.

#6 jgcl

jgcl

    João Gabriel C. Laass, Serra/ES

  • Usuários
  • 559 posts
  • Sexo:Não informado
  • Localidade:Serra / ES
  • Interesses:Tudo!

Posted 10/02/2005, 18:52

Descobri uma maneira mais fácil...

#!/usr/bin/perl
use DBI;

$db = DBI->connect('DBI:mysql:test','root','',{RaiseError => 1, AutoCommit => 1});
$dbi = $db->prepare ("SELECT id FROM novo WHERE id=$id ORDER BY 'id'");
$dbi->execute;

if($dbi->fetchrow_array) { print qq~ deleto ~; } else { print qq~ nao deleto ~; }

Também pode ser feito usando 2 SQL, de maneira que o primeiro verifique a existencia do ID e caso afirmativo ele deleta, caso contrario fala que não achou.

flw



EDITADO


Mais fácil ainda...

usando o $sth->rows; abaixo do $sth->execute().

dai é só fazer um if para ver os resultados:
igual a -1: deu algum erro no banco de dados ou ele não suporta o SQL aplicado.
igual ou maior que 0: numero de itens afetados pelo comando.

Creio que quando o SQL é pra deletar, ele retorna 0.

flw

Edição feita por: Whitesnake, 12/02/2005, 21:28.

João Gabriel
Site >> joaogabriel.org
CGiClube.net >> http://www.cgiclube.net
Vitória Perl Mongers >> http://vitoria.pm.org

#7 prix

prix

    Duracell: E Duram, Duram, Duram...

  • Usuários
  • 562 posts
  • Sexo:Não informado
  • Interesses:keep walking ...
    jonny walker

Posted 10/02/2005, 21:17

eu normalmente uso assim:
$sth = $dbh->do("DELETE FROM tabela WHERE id='999999'") || die print(DBI::errstr);
vc pode usar com update tb
e para validar uso:
if($sth == 1){ print "tudo ok"; }
se der algum erro de nao existir creio q o die vai mostra e mata o processo. normalmente eh isso a nao ser q tenha algum bug por ai

EDITADO

no seu caso o meu $sth eh o seu $dbi

Edição feita por: Whitesnake, 12/02/2005, 21:27.

print join'',(reverse  map{/d([a-z])d/}split/W/,'$5x6@314&60f%3i4#moo^1r2#moo^1p2')," ", pack ("B*",'01110000011001010111001001101100')," ", pack ("B*",'011011010110111101101110011010110110010101111001'), "n";
sleep 5;


E-Mails, topicos ou mensagens privadas não serão respondidas a menos que eu considere uma relevancia/necessidade na mesma.

#8 jgcl

jgcl

    João Gabriel C. Laass, Serra/ES

  • Usuários
  • 559 posts
  • Sexo:Não informado
  • Localidade:Serra / ES
  • Interesses:Tudo!

Posted 10/02/2005, 22:16

no seu caso o meu $sth eh o seu $dbi

seu sth é o meu sth... :P
( pelo $sth->rows; )
João Gabriel
Site >> joaogabriel.org
CGiClube.net >> http://www.cgiclube.net
Vitória Perl Mongers >> http://vitoria.pm.org

#9 prix

prix

    Duracell: E Duram, Duram, Duram...

  • Usuários
  • 562 posts
  • Sexo:Não informado
  • Interesses:keep walking ...
    jonny walker

Posted 11/02/2005, 02:09

de qualquer forma como vc viu la em bem simples =D

print join'',(reverse  map{/d([a-z])d/}split/W/,'$5x6@314&60f%3i4#moo^1r2#moo^1p2')," ", pack ("B*",'01110000011001010111001001101100')," ", pack ("B*",'011011010110111101101110011010110110010101111001'), "n";
sleep 5;


E-Mails, topicos ou mensagens privadas não serão respondidas a menos que eu considere uma relevancia/necessidade na mesma.

#10 HaroNism

HaroNism

    Super Veterano

  • Usuários
  • 15385 posts
  • Sexo:Masculino
  • Localidade:San Miguel de Tucuman

Posted 14/09/2017, 17:50

Isotretinoin Acutane Pills No Physician Approval Overseas cialis online Variety Package With Apcalis Propecia Composicion Cialis Tadalafil 50mg Amoxicillin Stomach Pain cialis Can Amoxicillin Get You High
Buy Genuine Kamagra Online online pharmacy Priligy Generico En Farmacias
Viagra Testen Kostenlos Free Trials Team Viagra
Usda Approved Generic Levitra <a href=http://cialtobuy.com>cialis</a> Viagra Usar
Buy Now Amoxicilina Best Website cialis Cytotec Prix Maroc
Wellbutrin Mexico Pharmacy
Zithromax Dosage For Strep <a href=http://cialtobuy.com>cialis</a> Phizer Viagra For Sale

#11 RonsisM

RonsisM

    Super Veterano

  • Usuários
  • 15724 posts
  • Sexo:Masculino
  • Localidade:Plovdiv

Posted 18/09/2017, 16:23

What Is Cephalexin Prescribed To Treat cialis Viagra Ultima Generazione
Meilleur Prix Cialis France Efectos Viagra Mujer Propecia Ovulacion
Cialis 5 Mg Precio En Colombia cialis buy online Buy Xenical And Reductil

#12 HaroNism

HaroNism

    Super Veterano

  • Usuários
  • 15385 posts
  • Sexo:Masculino
  • Localidade:San Miguel de Tucuman

Posted 02/10/2017, 22:07

Best Generic Viagra Overnight Trichomoniasis Zithromax Viagra Generic Pay With Paypal viagra isotretinoin website next day store by money order Discount Generic Zentel Real From Canada Overseas Shop Cheap Mexico No Rx Doxepin
Cialis Generique Vrai Ou Faux How Legit Are Online Viagra Sale Order Cipro Online No Prescription buy levitra online Priligy Usa Sale Propecia Dependence
Levitra Dauertherapie Propecia Impacto Real Progesterone Where To Buy Price On Line buy viagra Propecia Diabetes Dejar De Fumar Viagra Active Free Viagra Without Prescription
Propecia De 20 Mg Levitra Wirkung Amoxicillin Causes Leukopenia buy viagra Cialis Indicaciones Buy Viagra Online Without Prescription
Viagra Rezeptfrei Hamburg Cheap Viagra Pills Buy Viagra 100mg viagra Viagra Et Effets Indesirables
Depression Pills Online Synthroid Purchase Canada Preis Propecia 98 Stuck levitra 40 mga for sale mexico beach 5142.1 Metronidazole And Amoxicillin Combined Acheter Viagra Par Paypal

#13 Miguceamma

Miguceamma

    MiguPenjisse

  • Usuários
  • 13201 posts

Posted 03/10/2017, 17:58

Acheter Nolvadex France Cytotec Pas D Effet viagra Accutane Online Fast Deliverey For Sale Isotretinoin Acutane Pills Pharmacy With Free Shipping Online Deltasone Buy

#14 HaroNism

HaroNism

    Super Veterano

  • Usuários
  • 15385 posts
  • Sexo:Masculino
  • Localidade:San Miguel de Tucuman

Posted 10/10/2017, 13:41

Cual Es El Precio De Viagra En Mexicali Best Online Pharmacy No Script Free Dysfunction Samples buy viagra online Viagra Commander Sur Internet Buy Medication Online Without Script
Augmentin Or Amoxicillin Dog Uti Dosage How Much Is Cialis Prescription cialis Prednisone 1001 Ed Medicine Online

#15 HaroNism

HaroNism

    Super Veterano

  • Usuários
  • 15385 posts
  • Sexo:Masculino
  • Localidade:San Miguel de Tucuman

Posted 13/10/2017, 10:30

Amoxicillin For Cough viagra Walking Pneumonia Zithromax Dove Comprare Levitra
Cialis Tabletas 5 Mg buy levitra in europe Achat Viagra Homme Prospecto Propecia




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq