Baze PHP si MySQL - prelevare de probe operatori (selectați), inserția (insert), actualizare (update) și scoateți

Baze PHP si MySQL - prelevare de probe operatori (selectați), inserția (insert), actualizare (update) și scoateți
  • În acest articol vom analiza exemple sunt aspecte foarte importante în lucrul cu baze de date MySQL (DB), ca un eșantion de la intrarea bazei de date în baza de date, actualizarea informațiilor din baza de date, precum și eliminarea acestora din baza de date. Toate acestea se va face prin intermediul a patru operatori PHP - Operatorii SELECT, INSERT, UPDATE și DELETE care vor fi discutate în acest articol.

    Intr-un articol anterior despre elementele de bază de a lucra cu baze de date, am acoperit modul de a crea baze de date prin phpMyAdmin și introduceți informațiile în ele, și cum să se conecteze la baza de date prin intermediul PHP. Acum să trecem la pasul următor în procesul de învățare PHP și MySQL, și ia în considerare modul de a trage informații dintr-o bază de date folosind PHP sau cu alte cuvinte, a face o selecție din baza de date.

    Cum de a face o selecție din baza de date. instrucțiune SELECT probă

    Înainte de a face o selecție din baza de date, primul lucru pe care doriți să vă conectați la serverul MySQL și selectați baza de date pentru a lucra cu. După cum știți deja din titlurile articol anterior «tutoriale PHP si MySQL», acest lucru se face după cum urmează.

    După conectarea la server și selectați baza de date MySQL se poate trece direct la proba din baza de date. De exemplu, ia în considerare o bază de date pe care am creat in articolul precedent. Permiteți-mi să vă reamintesc că baza de date cu numele DB_NAME și first_table un tabel care a avut a fost creat doar trei câmp: id (identificator), numele (numele), LAST_NAME (nume de familie). Pentru a produce o mostră a bazei de date, puteți utiliza funcția mysql_query (). care, în acest caz, are următoarea sintaxă.

    în cazul în care, $ db - identificator de conexiune.

    În cuvinte simple, acest cod înseamnă „Câmpuri selectate (lista numele separate prin virgule) ale tabelelor (specificați numele tabelei bazei de date) în cazul în care condiția (starea set).“ Dupa cum se poate vedea sintaxa functiei este foarte simplu, iar codul este similar cu un limbaj uman normal.

    Deoarece funcția mysql_query () returnează rezultatul, acesta trebuie să fie pus în unele variabile pentru o utilizare ulterioară, de exemplu, în variabila $ result.

    Acum, funcția rezultat execuție mysql_query () este stocat în variabila $ result și poate fi utilizat, de exemplu, pentru a forma o matrice și rezultatele pe afișarea de ecran. Mai multe despre acest lucru va fi discutat mai târziu, dar acum la exemple. Ca o bază de date, de exemplu, vom folosi baza de date DB_Name dintr-un articol anterior.

    Deci, dacă doriți să scoateți toate câmpurile din baza de date folosind codul de mai jos.

    Asteriscul înseamnă că aveți nevoie pentru a trage toate câmpurile din tabel.

    Dacă aveți nevoie pentru a trage numai anumite domenii, cum ar fi numele și prenumele.

    numele, LAST_NAME - un câmp care conține numele de utilizatori.

    Dacă doriți să obțineți date exacte, de exemplu, numele tuturor utilizatorilor din baza de date cu un anumit nume (numele va fi introdus în numele $ variabilă).

    name = '$ nume' - câmpul numelui este egal cu numele $ variabila.

    Cu excepția o singură condiție se numără, de asemenea, câteva, de exemplu, aveți nevoie pentru a obține ID-ul tuturor utilizatorilor cu un anumit nume și prenume (numele, prenumele vor fi incluse în numele variabilelor $ și $ LAST_NAME, respectiv). Pentru a face acest lucru, putem folosi următorul cod.

    Dacă avem nevoie pentru a obține o înregistrare care se execută una dintre mai multe condiții, cum ar fi primi ID-urile tuturor utilizatorilor a căror primă sau numele ultimei îndeplinesc condițiile specificate în.

    Dacă aveți nevoie pentru a sorta rezultatele în funcție de anumiți parametri, de exemplu, după nume.

    ORDER BY nume - sortate dupa nume.

    Dacă doriți să sortați în ordine inversă.

    DESC - în ordine inversă.

    Dacă doriți să obțineți doar un anumit număr de câmpuri din baza de date. De exemplu, aveți nevoie pentru a scoate primele cinci câmpuri.

    Limita de 5 - pentru a trage de la baza de date doar primele cinci rezultate.

    Acestea au fost exemple de mici mostre din baza de date. Acum, să ne uităm la modul de a converti rezultatul într-o matrice pentru o utilizare viitoare, de exemplu, pentru a transmite rezultatul pe ecran. Pentru a face acest lucru, PHP are o funcție specială PHP mysql_fetch_array ().

    Rezultatul funcției, putem pune într-o variabilă, de exemplu, $ myrow variabila, care vor fi stocate într-un tablou asociativ în sine. Deoarece parametrul funcției mysql_fetch_array () Ieșirea funcției mysql_query () va fi dat. Toate acestea sunt după cum urmează.

    Acum putem accesa elementele unei matrice asociativă $ myrow. Ca un exemplu, să ne uităm la codul care afișează un nume de utilizator cu identificatorul id = 1. Deoarece baza de date va fi utilizată baza db_first din articolul precedent.

    După cum se poate vedea că este foarte simplu și ușor de înțeles.

    Ei bine, acum trece la următoarea INSERT, care este responsabil pentru adăugarea de informații în baza de date.

    Adăugarea de informații la baza de date. declaraţie INSERT

    Instrucțiunea INSERT este utilizată pentru a adăuga informații în baza de date. Codul pentru adăugarea, are următoarea sintaxă.

    Acest cod poate fi citit ca „insera în tabel (nume de tabel) în câmpul (nume de câmpuri, separate prin virgula) VALORI (lista valorile separate prin virgula).“

    De exemplu, trebuie să adăugați la numele first_table tabel al noului utilizator. Puteți utiliza următorul cod.

    În cazul în care, $ nume și $ last_name - variabile cu numele și prenumele noului utilizator.

    Pentru a verifica rezultatul poate fi utilizat în cazul în care designul - altceva.

    Cu alte cuvinte, în cazul în care variabila $ result va primi adevărul, acesta va indica faptul că se adaugă înregistrarea. În caz contrar, se va indica faptul că înregistrarea în baza de date nu este adăugată.

    Actualizarea informațiilor în baza de date. UPDATE

    Declarația UPDATE este folosită pentru a actualiza informațiile existente în baza de date. Sintaxa funcției mysql_query în acest caz, este după cum urmează.

    Ne întoarcem acum la exemplul. Să presupunem că avem nevoie pentru a schimba numele de utilizator cu ID-ul $ id în DB_Name tabel. Puteți utiliza următorul cod.

    Acum să trecem la partea finală a articolului și ia în considerare ultima declarație DELETE, care este responsabil pentru eliminarea informațiilor dintr-o bază de date.

    Ștergerea datelor din baza de date. declaraţie DELETE

    Declarația DELETE utilizată pentru a elimina câmpuri din baza de date. Funcția Sintaxa mysql_query (), în acest caz, este după cum urmează.

    Acum proceda ca de obicei, de exemplu. Să presupunem că vrem să eliminați un utilizator cu ID-ul $ id-ul DB_Name tabel. Puteți utiliza următorul cod.

    Asta e tot. Mult noroc și succes în PHP si MySQL învățare.

    S-au găsit o eroare? Selectați-l și apăsați pe Ctrl + Enter

    versiune de tipărit

    Am probleme cu alfabetul chirilic, sunt afișate semne de întrebare.
    php-fișier este codificat în utf8.
    Când creați un tabel în phpMyAdmin, dacă vă lăsați „Comparați“ gol, codificarea implicită este ales latin1_swedish_ci (suedeză caz-insensibil), modificări la utf8_unicode_ci (Unicode-insensibil), nu se schimbă nimic.
    Latină este în mod normal afișat.

    Bine ai venit! cum se face că, în prezent valoarea ID checkbox? este necesar pentru ca utilizatorul să marcheze intrarea dorită și apăsând butonul, se poate actualiza sau șterge. aici este codul:
    // Afișează tabelul de utilizator
    $ Baza de date = "Aut";
    $ TABLE_NAME = "Utilizatori";
    mysql_select_db (baze de date $);
    $ List_f = mysql_list_fields (baza de date $, $ nume_tabelă);
    $ N1 = mysql_num_fields ($ list_f);

    // Salvați numele câmpurilor din $ numele de matrice
    pentru ($ j = 0; $ j<$n1; $j++)
    $ Nume [] = mysql_field_name ($ list_f, $ j);
    >

    // Crearea unei interogări SQL
    $ Sql ​​= "selectați * de la $ table_name";

    // Trimite cererea la server
    $ Q = mysql_query ($ sql, $ db);

    // Obține numărul de rânduri rezultat
    $ N = mysql_num_rows ($ q);

    // Desenam HTML-tabel
    ecou <<

    Tabelul $ nume_tabelă



    EOT;

    // numele câmpurilor de afișare
    echo "

    \ N „;
    foreach ($ nume ca $ val)
    echo "\ N „;
    echo "\ N „;

    // Afișează valorile câmpurilor
    pentru ($ i = 0; $ i <$n; $i++)
    // obține valoarea de linii într-un tablou asociativ
    în timp ce ($ row = mysql_fetch_array ($ q, MYSQL_ASSOC))
    echo "

    \ N „;

    // Afișează câmpurile de valoare
    foreach ($ nume ca $ k => $ val)
    echo "

    \ N „;
    echo "\ N „;
    >
    >
    ecou '
    bgcolor ='# FFF1DF' text ='# 996600'>
    $ val
     $ Row [$ val]

    Dragi locuitori ai site-ului!

    Te rog să mă asculte, iar dacă există gânduri cu privire la întrebarea mea vă rugăm să ajute. Cum pot face o selecție din baza de date, care ar corespunde numărului de astăzi, de exemplu, informații odana astăzi vin mâine Informații odihnit pentru mâine, sau fac imposibilă?

    Alo Aș dori să învețe. conectați la baza de date aici, acest cod -
    1 $ db = mysql_connect ('MySQL server'.'bază de date de utilizator'.'Parolă pentru a accesa');
    2 mysql_select_db ('dB_Name', $ Db);
    aveți nevoie de ea în locul unde scrie o cerere suplimentară pentru a doua sau vă puteți conecta chiar și la baza de date site și toate? Prescrierea parola din baza de date direct de pe pagina securizată?