Welkom op de Nederland Computer Kennisnetwerk!  
 
Zoeken computer kennis
Home Hardware Netwerken Programmering Software Computerstoring Besturingssysteem
Computer Kennis >> Programmering >> PHP /MySQL Programmering >> Content
MySQL Perl DBI Tutorial
Een van de meest krachtige functies van Perl is de mogelijkheid om te verwerken , analyseren , bewerken en opmaken van tekst en data , waardoor het een ideale taal voor het ontwikkelen van databasetoepassingen . De Perl Database Interface ( DBI ) Module maakt het eenvoudig om verbinding te maken en het gebruik van een breed scala van database- systemen , waaronder MySQL . Naast Perl , moet de Perl :: DBI module en DBD :: MySQL database driver op het systeem waar de scripts worden ontwikkeld en uitgevoerd worden geïnstalleerd . Het grootste deel van de functionaliteit van MySQL kan worden geraadpleegd via de MySQL driver voor Perl :: DBI . Verbinding maken met de MySQL Server

Voordat u queries en andere verklaringen over een database kan uitvoeren , je script nodig heeft om een ​​verbinding te maken. Importeer de DBI module in je script met " gebruik DBI " :

gebruik DBI
;

De DBI - > connect functie maakt verbinding met een database en keert terug van een database handvat . Breng een verbinding met een lokale database , die de naam van uw database in de parameter source , en de gebruikersnaam en het wachtwoord voor de MySQL gebruiker je script zal gebruiken voor de verbinding :

mijn $ dbh = DBI - > , sluit ( ' DBI : mysql : dbname ' , ' user' , ' wachtwoord' ) or die " verbinding mislukt : $ DBI :: errstr " ;

verbinding maken met een externe database is vergelijkbaar met een lokale verbinding door het verstrekken van de remote host adres in de parameter source . In het volgende voorbeeld wordt het attribuut RaiseError ingesteld op fouten via sterven ( ) in plaats van het rapport " of sterven " handmatige foutcontrole clausule in het vorige voorbeeld . De PrintError kenmerk is uitgeschakeld . PrintError meldt automatisch fouten via waarschuwen ( ) wanneer ingeschakeld

mijn $ dbh = DBI - > connect ( ' DBI : mysql : dbname ; host = db.server.edu ' . , 'Gebruiker' , ' wachtwoord' , { PrintError = > 0 , RaiseError = > 1 } ) ; .

Voordat het script verlaten , los te koppelen van de database met behulp van de afschakelfunctie

$ dbh - > disconnect ( ) ;
Basic vragen

de meest voorkomende verklaring uitgevoerd op een databank is de SELECT-instructie . Maak een statement handvat door te bellen naar het bereiden functie met de SELECT-instructie . Zo zal dit SELECT een tabel van mensen bevragen voor de eerste veldnaam voor alle inzendingen , waar de laatste naam is " Johnson " :

mijn $ sth = $ dbh - > bereiden ( "SELECT voornaam FROM mensen WHERE achternaam = ' Johnson ' " ) ;

Voer de verklaring :

$ sth - > execute ( ) ;

ophalen een rij gegevens in een tijd als een hash en print de resultaten :

afdruk
"Query voor achternaam Johnson : \\ n " ; terwijl ( mijn $ resultrow = $ sth - > fetchrow_hashref ( ) ) { my $ fn = $ resultrow - > { voornaam } ; print " $ fn \\ n " ; }

Er zijn verschillende functies voor het ophalen van query resultaten , zoals fetchrow_array naar de volgende rij als een array en fetchall_hashref halen om alle resultaten te halen in een keer in een hash .
behulp Placeholders

Placeholders
kan gebruikt worden in de verklaring te bereiden functie . Dit is handig in interactieve scripts waar queryfilter waarden worden door de gebruiker , met name als een lus kan de gebruiker meerdere query's in te dienen voordat u afsluit .

Bijvoorbeeld de tijdelijke aanduiding ( het vraagteken ) geeft de plek waar input van de gebruiker zal worden geboden wanneer de instructie wordt uitgevoerd :

mijn $ sth = $ dbh - > bereiden ( ' SELECT * FROM mensen WHERE achternaam = ? " ) or die " verklaring error : " . $ dbh - > errstr ;

Een while lus wordt de gebruiker gevraagd om een ​​achternaam herhaaldelijk :

print " Zoek achternaam : "
; while ( $ achternaam = < > ) { chomp $ achternaam ; mijn @ resultaten ;

De verklaring bereid eerder wordt uitgevoerd , met $ achternaam verstrekt als parameter . Deze parameter in de query verklaring in plaats van het vraagteken placeholder ingevoegd:

$ sth - > execute ( $ achternaam ) or die " Verklaring error : " . $ sth - > errstr ;

De resultaten , indien aanwezig, worden afgedrukt :

if ( $ sth - > rijen == 0 ) { print " Geen resultaten voor ` $ achternaam " \\ n \\ n " ; . }

terwijl ( @ results = $ sth - > fetchrow_array ( ) ) { my $ voornaam = $ resultaat [ 1 ] ; mijn $ leeftijd = $ resultaat [ 3 ] ; print " $ voornaam $ achternaam ( $ leeftijd ) \\ n " ; }

de verklaring handvat is opgeruimd met de afwerking methode , en de lus gaat verder :

$ sth - > afwerking ; print " Zoek achternaam : " ; }
toevoegen , bijwerken en verwijderen van records

updates
, kan inserts en verwijdert eenvoudig worden uitgevoerd met behulp van de do -functie . Bijvoorbeeld :

$ dbh - > weet ( " INSERT INTO mensen ( voornaam, achternaam , leeftijd ) VALUES ( ' Bob ' , ' Johnson ' , 32 ) " ) ; $ dbh - > doen ( " UPDATE mensen stellen voornaam = ' Robert ' waarbij voornaam = " , undef , ' Bob ?' ) ; $ dbh - > do ( " DELETE FROM mensen WHERE achternaam = ' Johnson ' " ) ;
bouwen en beheren van een database

Database administratie functies
worden uitgevoerd met de func -functie met behulp van de database te beheren verkregen van de verbinding :

$ dbh - > functie ( " createdb " , $ dbname , 'admin' ) ; $ dbh - > functie ( " dropdb " , $ dbname , 'admin' ) ;

De server kan ook worden herladen en stilgelegd . Deze functionaliteit is handig voor het vereenvoudigen en automatiseren van database- systemen beheertaken . Voldoende rechten zijn vereist voor deze acties .

Database tafel
creëren en veranderen uitspraken kunnen worden uitgevoerd met de do -functie . Bijvoorbeeld , deze verklaring leidt tot de tafel mensen :

$ dbh - > do ( "CREATE TABLE mensen ( id INT NOT NULL AUTO_INCREMENT PRIMARY KEY , voornaam VARCHAR ( 50 ) , achternaam VARCHAR ( 50 ) , leeftijd INT ) " ) ;

aanmaken en updaten van bestaande databanken is nuttig voor het automatiseren van de installatie van gedistribueerde toepassingen , zoals discussieforums , fotogalerijen en blogs

.

Previous: Next:
  PHP /MySQL Programmering
·Hoe te verwijderen voor & acht…
·Hoe maak je een lijst van data…
·MySQL Administration Tutorials…
·Hoe te voorkomen Caching in ee…
·PHP zal geen verbinding met My…
·Hoe te gebruiken PHP om een Al…
·Hoe de MySQL Query Cache Enabl…
·How to Get Rid van duplicaten …
·Toegang krijgen tot een Explod…
  Related Articles
Hoe te DataGridView gebruiken voor MySQL…
Hoe de foreach in Perl gebruiken 
Hoe de printfunctie in Perl gebruiken 
Hoe maak je een Array in Perl 
Hoe maak je een statement Terwijl in Per…
Hoe maak je een Do While Loop in Perl 
Hoe Standard Input in Perl Capture 
Hoe te Perl Run op een laptop 
Hoe je Perl embedden in HTML 
  Programmering Articles
·Hoe de tijd instellen voor een PHP Timeo…
·Hoe maak Pauzes in een Turbo Pascal 7 
·Hoe maak je een 3D- browser Zorg 
·Hoe te iFrame inhoud lezen in JavaScript…
·Python Lambda Tutorial 
·Hoe kan ik HTML verwijderen in ASP.NET 
·Hoe te tekstvakken invoegen Met VBA code…
·Hoe te wijzigen Java Startpagina 
·Welke soorten van Math Do computerprogra…
Copyright © Computer Kennis http://www.nldit.com