..
Įvadas
Tarp PHP ir duomenų bazės sąveika suranda savo aukščiausią išraišką su MySQL tiek Linux ir Windows sistemose. PHP Windows gali dirbti su duomenų bazėmis, išskyrus MySQL, išnaudojant funkcijos ir sąsajos reikalauja skirtingų DBVS. PHP dirbti su MS Access ir MS SQL Server: Šiame straipsnyje mes pamatyti, kaip PHP sąveikauja su Access.
Tarp bet programavimo kalba, ir interneto Wui su DBVS iš "Microsoft", tokios kaip Access, ADO (ActiveX Data Objects), jau susipažinę su ASP programuotojų, ASP.NET ir Visual Basic sąsaja.
Prieš pradėdami su ADO ir jos naudojimas per PHP paaiškinimą ir prieš įgyvendinant pavyzdžių, manau, privalo pasakyti, kad PHP kartu su iš "Microsoft DBVS nėra labiausiai patartina ir veiklos, bet vis dar visiškai funkcionalus.
Žinių, reikalingų visiškai suprasti šį straipsnį, yra:
Struktūra bandymų duomenų bazę
Dėl kai kurių praktinis pavyzdys įgyvendinimo sukursime failą sudaro vieno stalo database.mdb Access vartotojams, savo ruožtu, sudarytas iš laukų ID (skaitiklis), pavardė (tekstas) ir pavardė (Tekstas).
Vieta duomenų bazėje savo Personal Web Server, Apache arba EasyPHP, kad, pavyzdžiui, bandymą
C: \ percorso_fisico \ database.mdbpercorso_fisico kur yra fizinis adresas Jūsų Personal Web Server, įrengtas, kaip šiame pavyzdyje, C disko.
Duomenų bazė yra paruošta. Tęsti.
Įvadas į ADO
ADO iš Microsoft biblioteka, kuri leidžia bendrauti su DBVS iš "Microsoft" pati arba su kitomis DBVS, pavyzdžiui, MySQL jo naudojimo su ASP.
ADO siūlo tris pagrindinius objektus: Connection Recordset ir komandų. Šis straipsnis naudoja pirmuosius du tarnauja atitinkamai valdyti ryšį ir tvarkyti duomenis. Trečiasis specialistas tema, bet ne per gera net naudojamas "Microsoft" programuotojai mirti, išskyrus ypatingomis progomis.
ASP programuotojų Pastaba: Mieli kolegos, kaip ir aš :-) esate įpratę naudoti taškas simbolį atskiras kintamojo vardas, kuriame yra, pavyzdžiui, ryšys, metodo ar nuosavybė būtų naudojami; PHP, ir (.) tik Sąveika su ADO, jis naudojamas kaip formos separatorius ->
kintamojo-> metodasAtminkite, kad!
Sudaryti duomenų bazę
Dabar sukurkite mūsų bandymas serverio kataloge, pavyzdžiui, failo ir įdėkite phpaccess connessione.php turintį šį kodą:
<? PHP
$ Db = "C: \ percorso_fisico \ database.mdb";
$ Sc = "Provider = Microsoft.Jet.OLEDB.4.0; Duomenų šaltinis = $ db;"
?>
Kintamasis $ db yra fizinės kelią iki failo ir kintamasis $ SC database.mdb yra OLEDB ryšį eilutę duomenų bazę, šis failas bus įtraukti į visus PHP failus, kurie bus atlikti operacijas, dėl nagrinėjamos duomenų bazėje.
Skaitant duomenis
Norėdami atlikti duomenų skaitymo mes sukurti serveryje, į bandymo aplanką, failą leggi.php, žemiau komentavo kodas failą:
<html>
<head>
<title> Sąveika tarp PHP, MS Access </ title>
</ Head>
<body>
<? PHP
/ / Pridėti failą, kuriame yra eilutės junginiai
include ("connessione.php");
/ / Sukurti du COM objektus, kurių sudėtyje yra prijungimas ir Recordset
$ Cn = nauji KOM ("ADODB.Connection");
$ R = nauji KOM ("ADODB.Recordset");
/ / Aš atidarau Connection ir Recordset
$ CN-> Open ($ SC);
$ RS-> Open ("SELECT * FROM vartotojai", $ KN);
/ / Tikrinama, kad nėra ant stalo duomenų
if ($ rs-> EOF) print "Nėra duomenų <p> </ p>";
<b> / / Jei yra skaitymo ciklo </ b>
kitas while ($ RS-> EOF == FALSE)
{
print "<p>";
print "<b> Vardas: </ b>".
$ RS-> Laukai ['vardas'] -> vertė;
print "<br>";
print "<b> Pavardė: </ b>".
$ RS-> Laukai ['vardas'] -> vertė;
print "</ p>";
$ RS-> MoveNext ();
}
/ / Close įrašų
$ RS-> Close ();
$ RS-> Baigti ();
$ R = null;
/ / Nutraukti ryšį
$ CN-> Close ();
$ CN-> Baigti ();
$ CN = null;
?>
</ Body>
</ Html>
Operacija yra paprasta: Recordset perduoti skaitymo ir specifinius klausimus pagal kintamąjį rodiklį, kurioje ryšys buvo atidarytas, ir Recordset EOF (failo pabaiga) savybės skaito visus duomenis pagal nurodytą užklausą, jei true reiškia, kad nėra duomenų bazę, tada pradėti pranešimo laišką, jei nustatytas FALSE, kilpa, skaito visus duomenis pagal nurodytą užklausą; MoveNext () nutraukia linijos ir žymeklį ADO tuo ciklo pradžioje, kad būtų išvengta begalinis ciklas.
Objekto uždarymą yra metodai Uždaryti () ir Release (), kurie tarnauja atitinkamai uždaryti ir sunaikinti COM objektą. Galiausiai galite nustatyti kintamąjį null išvalyti kintamojo atminties.
Rašymo duomenų
Kriterijų, pagal kurį rašote duomenis programos Access duomenų bazę su PHP yra panašus į skaitymo į šį kodą duomenis, parašyta failą nenaudoja Recordset scrivi.php kriterijus, tačiau atlieka SQL INSERT dėka vykdyti () metodas "Ryšio objektas, komentarų kodas:
<html>
<head>
<title> Sąveika tarp PHP, MS Access </ title>
</ Head>
<body>
<? PHP
/ / Pridėti failą, kuriame yra eilutės junginiai
include ("connessione.php");
$ Cn = nauji KOM ("ADODB.Connection");
$ CN-> Open ($ SC);
/ / Nustatykite užklausą
$ Sql = "INSERT INTO vartotojai (vardas, pavardė) VALUES ('Luca", "Roger')";
/ / Padaryti duomenų įvedimo
$ CN-> Execute ($ sql);
/ / Pradėti patvirtinimo pranešimą
print "įdėjimas <p> sėkmingai </ p>";
/ / Nutraukti ryšį
$ CN-> Close ();
$ CN-> Baigti ();
$ CN = null;
?>
</ Body>
</ Html>
| |
"Linux" (kurso)
Užbaigti vadovą, kad atviro kodo sistema. Nuo 49 €. |
| |
MySQL (kurso)
Valdymas atviro kodo duomenų bazės. Nuo 39 €. |
| |
PHP (kurso)
Visas kursas sukurti dinaminius interneto svetainių. Nuo 49 €. |