Ergebnis 1 bis 2 von 2

Thema: [Perl] MySQL Datenbank SELECT mit DBI

  1. #1
    Forum Guru
    Registriert seit
    04.04.2005
    Beiträge
    4.139
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard [Perl] MySQL Datenbank SELECT mit DBI

    Hi

    Ich bin gerade an einem Perl Script.
    Momentand kann es nicht mehr als sich mit meiner amarok MySQL DB verbinden und nach Artisten Suchen.

    Ich möchte die Daten dynamisch abrufen.
    Am allerliebsten natürlich wie in PHP

    PHP Beispiel
    Code:
    <?php
    $search_name = "Sum";
    $sql = mysql_query&#40;'SELECT * FROM `artist` WHERE `name` LIKE "%'.mysql_real_escape_string&#40;$search_name&#41;.'%"'&#41;;
    while&#40;$res = mysql_fetch_assoc&#40;$sql&#41;&#41; &#123;
     foreach&#40;$res as $key=>$val&#41; &#123;
      printf&#40;"&#91;%s&#93;=>'%s'\t",$key,$val&#41;;
     &#125;
     echo "\n";
    &#125;
    ?>
    So in der Art.

    Mein Perl Script sieht so aus.
    Code:
    #!/usr/local/bin/perl
    %mysql_config = &#40;
    	'host'=>'localhost',
    	'user'=>'root',
    	'pass'=>'***',
    	'db'=>'amarok',
    &#41;;
    
    use DBI;
    $dsn = 'DBI&#58;mysql&#58;'.$mysql_config&#123;'db'&#125;.'&#58;'.$mysql_config&#123;'host'&#125;;
    $db_user_name = $mysql_config&#123;'user'&#125;;
    $db_password = $mysql_config&#123;'pass'&#125;;
    $dbh = DBI->connect&#40;$dsn, $db_user_name, $db_password&#41; or die "Couldn't connect to database&#58; " . DBI->errstr;
    
    print "Search for Artist&#58; ";
    $artist = <STDIN>;
    chop $artist;
    print "\n";
    
    $sth = $dbh->prepare&#40;'SELECT * FROM `amarok`.`artist` WHERE `name` LIKE ?'&#41;;
    
    $sth->execute&#40;"%$artist%"&#41;;
    while &#40;@ary = $sth->fetchrow_array&#40;&#41;&#41;
    &#123;
        print "&#91;id&#93;=>'$ary&#91;0&#93;'\t&#91;name&#93;=>'$ary&#91;1&#93;'\n";
    &#125;
    
    $sth->finish&#40;&#41;;
    Das funktioniert auch bis auf das ich die Werte nicht als $ary['id'] oder $ary['name'] ansprechen kann.

    Was muss ich anstatt «$sth->fetchrow_array()» verwenden damit der array die spalten namen als indexes hat? Ich muss wahrscheinlich noch %ary verwenden .

    Leider kann ich da nichts finden. Habe noch keine Klassen definition gefunden wie es sie auf php.net für php Klassen gibt.

    Gruss ::RMB::
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!
    Facebook Gruppe: Böses Encoding

  2. #2
    Forum Guru
    Themenstarter

    Registriert seit
    04.04.2005
    Beiträge
    4.139
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Ich hab eine Lösung auf http://www.expertwebinstalls.com/cgi...BI_module.html gefunden

    Code:
    while &#40;$data = $sth->fetchrow_hashref&#40;&#41;&#41;
    &#123;
        print "&#91;id&#93;=>'".$data->&#123;'id'&#125;."'\t&#91;name&#93;=>'".$data->&#123;'name'&#125;."'\n";
    &#125;
    Facebook Gruppe: Böses Encoding

Ähnliche Themen

  1. Multiple Select mehrfach Markierung aus Datenbank
    Von morrers im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 7
    Letzter Beitrag: 16.05.2008, 18:05
  2. per PHP neue MySQL-Datenbank und MySQL-Benutzer anlegen
    Von sudeki05 im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 3
    Letzter Beitrag: 15.04.2007, 18:40
  3. PHP, PERL, CGI-BIN und MYSQL
    Von Berke im Forum Webhoster - Provider - (free) Webspace - Server - Domain
    Antworten: 3
    Letzter Beitrag: 05.12.2006, 20:07
  4. MySQL Tabellen von Datenbank zu Datenbank umziehen
    Von hkp im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 16
    Letzter Beitrag: 02.09.2006, 15:14
  5. Ausgabe von JPGs mit Perl aus MySQL
    Von Andrea im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 0
    Letzter Beitrag: 12.10.2004, 18:04

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •