perlunity.de - PERL | JAVASCRIPT | PHP | MySQL | APACHE



#!/COMMUNITY

Members: 5374
davon online: 1
weitere User: 17
Click for quality!




12.02.2012 / 04:08

Community-Member werden   |   Paßwort vergessen   |   OnlineMonitor (1) Wer ist online ... OnlineMonitor starten !
     

 

Home


PERLscripts


PHPscripts


JAVAscripts


Hilfreiches


Links2www


Newscenter


Community


Interna




Community  »  Perl: Allgemeines Forum zur Themenübersicht Themensuche Themenansicht in Thread-Modus


BeitragDoppelte Einträge in DB verhindern
Seitenanfang
Hallo Community,

ich möchte mit perl dbi in einer mysql db nachsehen ob ein Eintrag bereits vorhanden ist.
Das Script müsste 3 Felder vergleichen.. Kann mir da jemand weiterhelfen?


$name = "Mueller";
$vorname = "Hans";
$ort = "Bern";
$sth=$dbh->prepare("SELECT name, vorname, ort FROM tabelle WHERE ????

jetzt noch herausfinden obs den gibt oder nicht..

Datum: 06.11.2005-15:40

Beitragre: Doppelte Einträge in DB verhindern
Seitenanfang
Hi,

my $q = "SELECT name, vorname, ort FROM tabelle WHERE name=".$name;
$q .= " AND vorname=".$vorname." AND ort=".$ort.";";
$sth = $dbh->prepare($q);

-uw

Datum: 07.11.2005-05:13

Beitragre: Doppelte Einträge in DB verhindern
Seitenanfang
Hallo TbHoCne

hmm... Wenn ich das eintrage kommen x Meldungen dass etwas nicht stimmt.

Könntest Du mir erklären wieso nach dem WHERE name etc steht, dann aber ; und danach nochmals die Variable $q .= " ?

Falls ich das so zum laufen kriege - so ist das nun der Select-Befehl um einen gleichen Eintrag in der DB zu suchen. Jetzt möchte ich noch das "Resultat" auswerten. Wie bekomme ich die Rückmeldung ob nun ja oder nein? Habe in einem anderen Forum gelesen mit
[script]
if(my $hashref = $query->fetchrow_hashref)
{
# da sind daten
}
else
{
# nix daten
}
[/script]
Auf alle Fälle danke für eure Hilfe.

Schöne Grüsse aus der Schweiz

Datum: 07.11.2005-22:00

Beitragre: Doppelte Einträge in DB verhindern
Seitenanfang
Hi,

sorry, ich habe die quotes vergessen also noch einmal. :-\

=====

(".=" oder "x".$name."y") So setzt man Strings zusammen. Ich habe diese Technik angewendet um das Forum hier nicht in die Breite zu reißen. ;-)


my $string = "";

$string .= "Ein Satz ";
$string .= "über mehrere ";
$string .= "Zeilen verteilt ";
$string .= "sieht so aus.";

print $string;

Das SELECT Statement sollte ja so aussehen:

SELECT name, vorname, ort FROM tabelle WHERE name='Müller' AND vorname='Hans' AND ort='Bern';

Nachfolgend Perl:


my $nname = "Müller";
my $vname = "Hans";
my $ort = "Bern";

my $q = "";
$q = "SELECT name,vorname,ort FROM tabelle ";
$q .= "WHERE name='".$nname;
$q .= "' AND vorname='".$vname;
$q .= "' AND ort='".$ort."';";

$sth = $dbh->prepare($q) || die "Could not prepare query, $DBI::errstr";

my $row_count = $sth->execute || die "Could not get row count, $DBI::errstr";

if($row_count < 1)
{
# Verarbeitung Hans Müller aus Bern nicht vorhanden.
}
else
{
# Verarbeitung Hans Müller aus Bern ist vorhanden.
}

-uw

Datum: 07.11.2005-23:20

-






-
-