Lucrăm cu baza de date wordpress, folosind clasa wpdb

Cum de a crea un site »CMS» Wordpress »Lucrăm cu o bază de date în WordPress. Bazele de lucru cu o bază de date în WordPress, utilizând clasa wpdb

Deoarece această funcționalitate este construit în WordPress, nu aveți nevoie pentru a deschide o conexiune bază de date separată (în acest caz, va duplicat cod), și nu este necesar să se efectueze hacks, cum ar fi modificarea rezultatului stabilit în urma unei cereri a fost făcută la ea.







Lucrăm cu baza de date wordpress, folosind clasa wpdb

Modelul de $ wpdb clasă și automatizează multe sarcini asociate cu baza de date WordPress. .

Doriți să aflați rapid cum să creați site-uri și bloguri pe WordPress cu un design unic?

Obțineți cel mai complet sistem de training gratuit pentru crearea de site-uri pe WordPress

Începând să lucreze cu o bază de date în WordPress

Obiectul rezultatelor $ conține acum datele dvs. în următorul format:

Extragerea rezultatelor din baza de date

Dacă doriți să găsiți și să selectați anumite informații din baza de date WordPress, puteți utiliza una din cele patru funcții asistent pentru a structura datele.

Aceasta este funcția pe care am considerat-o mai devreme. Se potrivește cel mai bine atunci când aveți nevoie de date 2D (o mulțime de rânduri și coloane). Se transformă datele într-o matrice care conține obiecte individuale pentru fiecare rând.

Introducerea în baza de date

Pentru a face o inserție, puteți utiliza metoda insert:

Această metodă are trei argumente. Primul determină numele tabelului în care introduceți datele. Al doilea argument este o matrice care conține coloane și valorile lor corespunzătoare ca perechi cheie-valoare. Al treilea parametru determină tipul de date al valorilor dvs. în ordinea în care le-ați atribuit. Iată un exemplu:

Dacă sunteți obișnuiți să scrieți inserțiile dvs., poate părea greoi la început, dar, de fapt, obțineți mai multă flexibilitate, deoarece această metodă utilizează matricele ca intrări.

Definiția formatului este o opțiune opțională; toate valorile implicite sunt considerate a fi șiruri de caractere, dar includerea lor în metodă este practica stabilită. Cele trei valori pe care le puteți utiliza sunt% s pentru șiruri de caractere. pentru numere zecimale și% f pentru numere în virgulă mobilă.

Actualizarea datelor

Până acum nu veți fi surprins când veți auzi că avem și o metodă asistentă cu o actualizare foarte puternică () pentru actualizarea datelor. Aplicarea sa amintește de ceea ce am văzut mai sus; ci să manipuleze expresia în cazul în care actualizarea noastră necesită doi parametri suplimentari.

Parametrii $ table, $ data și format $ ar trebui să vă fie cunoscuți; ele sunt toate la fel ca înainte. Folosind parametrul $ unde, putem determina condițiile de actualizare. Trebuie să fie o matrice sub formă de perechi de coloane-valoare. Dacă definiți mai mulți parametri, acestea vor fi combinate cu logica AND. $ where_format este același format ca $: definește formatul valorilor din parametrul $ unde.

Alte solicitări

În timp ce asistenții de mai sus sunt pur și simplu excelenți, uneori trebuie să efectuați alte întrebări sau mai complexe decât asistenții pot face. Dacă aveți nevoie să faceți upgrade cu un complex în care există o clauză care conține logica AND / OR multiple, nu puteți utiliza metoda update (). Dacă trebuie să faceți ceva de genul ștergerea unui șir sau setarea unui set de caracteristici de conectare, atunci va trebui să utilizați metoda "common" query (), care face posibilă executarea oricărui tip de interogare.

Protecție și validare

Sper că nu trebuie să vorbiți despre cât de important este să vă asigurați că datele dvs. sunt protejate și că baza dvs. de date nu poate fi manipulată! Validarea datelor este ușor în afara sferei de aplicare a acestui articol, dar asigurați-vă că verificați cândva ce codul WordPress de Validare Date poate spune.

În plus față de validare, trebuie să scăpați de toate solicitările. Chiar dacă nu sunteți familiarizați cu atacurile SQL injection. utilizați încă această metodă, și citiți mai târziu despre aceasta, deoarece este foarte important.







Vestea bună este: dacă utilizați funcții de ajutor, atunci nu este necesar să faceți nimic: interogarea pentru dvs. este deja examinată. Cu toate acestea, dacă utilizați metoda query (), trebuie să evacuați manual folosind metoda prepare ().

Pentru a face un pic mai digerabil, să rescriem acest format de bază puțin.

Vezi, nu e așa de înfricoșător. În loc să adăugați valori reale unde le-ați adăuga în mod normal, introduceți tipul de date și apoi adăugați aceste date ca parametri ulteriori.

Variabile de clasă și alte metode

De fiecare dată când introduceți ceva în tabel, probabil veți avea un ID incrementat automat acolo. Pentru a găsi valoarea ultimelor inserțiilor făcute de script-ul dvs., puteți utiliza $ wpdb-> insert_id.

Doriți să aflați rapid cum să creați site-uri și bloguri pe WordPress cu un design unic?

Obțineți cel mai complet sistem de training gratuit pentru crearea de site-uri pe WordPress

Noi o folosim, pentru că avem posibilitatea de a alege prefixul pentru tabelele WordPress. În timp ce majoritatea oamenilor folosesc prefixul implicit wp, unii utilizatori doresc sau au nevoie de un prefix particularizat. În numele de flexibilitate, acest prefix nu este codat strict, așa că, dacă scrieți un plug-in și este folosit în interogarea în loc de wp_postmeta $ wpdb-> postmeta, codul pe unele site-uri nu va funcționa.

Dacă aveți nevoie să obțineți date dintr-o tabelă WordPress neraportată, nu există o variabilă specială pentru aceasta. În acest caz, puteți scrie numele mesei, ca de obicei.

Gestionarea mesajelor de eroare

Apelați metodele show_errors () sau hide_errors (), puteți activa sau dezactiva mesajele de eroare (în mod implicit sunt dezactivate) pentru a obține mai multe informații despre ceea ce se întâmplă. În orice caz, puteți utiliza și metoda print_error () pentru a imprima erorile ultimei solicitări.

Construirea unei urmăriri simple cu cunoștințe de $ wpdb

Dacă sunteți începător, probabil că înțelegeți despre ce vorbesc, dar poate că este dificil de implementat. Deci, hai să luăm un exemplu de plugin simplu de urmărire WordPress pe care l-am făcut pentru un site web.

Din motive de simplitate, nu voi descrie fiecare detaliu al acestui plugin. Arată doar structura bazei de date și câteva întrebări.

Structura tabelului nostru

ID-ul
Creșterea automată a ID-ului.

timp
Data și ora acțiunii.

acțiune
Tipul acțiunii (adică clic sau deplasare).

action_url
Pagina pe care a fost inițiată acțiunea.

user_id
ID utilizator dacă este înregistrat.

user_ip
IP-ul utilizatorului pentru a elimina orice intenție rău intenționată.

Acest tabel va deveni rapid destul de mare, deci este grupat în statistici zilnice și este șters din când în când. Și acum să lucrăm cu ea.

Introducerea datelor în tabele

Apoi putem introduce aceste date în baza de date folosind metoda noastră de ajutor, ca aici:

Cu riscul de a pleca de la caz, mă voi adresa unor probleme care ar putea să vă intereseze în acest exemplu. S-ar fi putut gândi, dar despre validarea datelor? Un clic poate veni de la administratorul site-ului web sau utilizatorul ar putea să facă clic în mod greșit de două ori sau să se întâmple multe alte lucruri.

Am decis că, din moment ce nu avem nevoie de statistici în timp real (suficiente statistici zilnice), nu are sens să verificăm datele de fiecare dată când le faci. În fiecare zi în jurul valorii de miezul nopții, în timpul unui nivel scăzut de trafic, datele sunt colectate într-un nou tabel. Înainte de gruparea datelor, le oferim curățarea, ștergerea duplicatelor și așa mai departe. Datele sunt, desigur, scăpate înainte de a fi inserate în tabel, deoarece folosim funcția de ajutor; Astfel, ne-am asigurat aici.

Pur și simplu pentru a elimina în vrac toate făcut de administratori este mai ușor, decât să faceți verificarea la fiecare inserați. Astfel, o cantitate semnificativă de procesare este eliminată de pe umerii serverului.

Ștergerea acțiunilor din IP, introduse în "lista neagră"

S-ar putea să fi observat că încă mai afișez datele, chiar dacă IP-ul este dintr-o sursă sigură. Aș sugera protecția datelor din nas. În primul rând, hackerii adevărați sunt buni în afacerea lor, deoarece sunt programatori excelenți și vă pot depăși în moduri pe care nu v-ați fi gândit-o. În plus, personal am făcut mai mult rău site-urile mele decât hackerii, așa că fac toate acestea și ca măsură de precauție împotriva mea.

Gânduri și sfaturi finale

Sper că acum înțelegeți mai bine clasa WordPress $ wpdb și veți putea să o aplicați pentru a vă îmbunătăți proiectele. În concluzie, iată câteva dintre ultimele sfaturi și trucuri pentru utilizarea eficientă a acestei clase.

Te implor să fii precaut: împreună cu mari oportunități există o mare responsabilitate. Asigurați-vă că datele dvs. sunt scanate și validate, deoarece utilizarea incorectă a acestei clase este probabil cauza principală a site-urilor hackate!

În timp ce puteți utiliza metoda interogării () pentru orice interogare, este mai bine să utilizați metodele de asistență (inserați, actualizați, obțineți etc.) unde este posibil. Acestea sunt mai modulare și mai sigure, deoarece acestea vă afișează automat datele.

Citiți documentația oficială pentru toate variabilele de clasă și alte informații. Acest lucru vă va ajuta să utilizați toate caracteristicile clasei. Vă recomandăm, de asemenea, să citiți despre aplicarea generală a clasei ezSQL în proiectele non-WordPress; Aplic acest lucru exclusiv peste tot.

În acest sens, lecția despre interacțiunea profesională cu baza de date din WordPress sa încheiat.

Ediție: Comanda webformself.

Doriți să aflați rapid cum să creați site-uri și bloguri pe WordPress cu un design unic?

Obțineți cel mai complet sistem de training gratuit pentru crearea de site-uri pe WordPress

Cele mai recente știri despre dezvoltarea IT și web pe canalul nostru de telegrame

Lucrăm cu baza de date wordpress, folosind clasa wpdb

Cursul WordPress-Student

12 jetoane fără de care aveți garanția că nu veți crea un site cu drepturi depline pe WordPress!







Articole similare

Trimiteți-le prietenilor: