Introducem datele utilizatorului în baza de date MySql. Intrarea PHP în baza de date mysql. Exemple practice Adăugarea de înregistrări la un tabel php mysql

Toate modulele unui site sau aplicație web în care este necesară introducerea și înregistrarea unor date (de exemplu, nume, vârstă, adresă etc.) folosesc o funcție simplă în limbajul mysql INSERT INTO `name_base` (nume, valoare1, valoare2) ) VALORI ('Vasya ','1','2');

Toate variabilele sunt introduse în baza de date conform valorilor pe care le-am stabilit în primele paranteze. Este important să luați în considerare codificarea scriptului de gestionare, a bazei de date și a fișierului de configurare. Este recomandabil să utilizați cea mai comună codificare UTF-8.

Vă rugăm să rețineți că puteți scrie în baza de date în două moduri.

Prima cale dacă nu specificăm inițial numele de celule ale tabelelor bazei de date. Apoi trebuie să enumeram toate variabilele pentru fiecare celulă, și anume câte celule sunt în tabelul bazei de date, așa că multe variabile ar trebui să fie listate în paranteze după valoarea VALUE.

De exemplu:
Există patru celule într-un tabel de bază de date. Aceasta înseamnă că după elementul VALUE (..), toate cele patru variabile trebuie listate între paranteze. Și încă ceva: dacă variabila nu există, să zicem că este un parametru opțional. Apoi scriem doar o valoare goală între ghilimele „”,

„INSERT INTO `name_base` VALUES (NULL, `".$name."`,``,`2`)"; // a treia valoare goală este scrisă între ghilimele

Dar această solicitare are câteva dezavantaje minore. Dacă adăugați o celulă sau două celule la un tabel al bazei de date, această interogare va returna o eroare. Deoarece în această metodă, listarea tuturor celulelor din interogare este obligatorie.

A doua cale dacă după o interogare INSERT INTO `name_base` (...), listați toate celulele după numele bazei de date. Un exemplu a fost deja discutat mai sus. Dacă ai uitat, hai să o scriem din nou:

„INSERT INTO `name_base`(`nume`,`valoare`,`valoare2`) VALORI (NULL, `".$nume."`,``,`2`)";

Aici am enumerat toate celulele (nume, valoare1, valoare2). Și dacă adăugați două celule suplimentare la tabelul bazei de date, atunci sintaxa interogării nu va trebui modificată. Dar dacă nu trebuie să adăugăm imediat într-o singură solicitare acele variabile suplimentare de care avem nevoie pentru acele celule foarte noi create.

Această eroare apare foarte des după o mică modificare a site-ului. Să presupunem că administratorul a adăugat o celulă suplimentară la baza de date, să spunem starea. Dar procesorul de script nu a avut timp să schimbe modulul sau pur și simplu a uitat. Dar unele site-uri au o structură foarte complexă, iar găsirea unei erori poate dura mult timp și efort. Prin urmare, este recomandabil să utilizați a doua metodă de scriere în baza de date. Deși acest tip de greșeală este mai des făcută de programatorii web începători.

Intrarea PHP în baza de date mysql. Exemple practice

Deci, acum ajungem la miezul problemei atunci când lucrăm cu interogări de baze de date. Vom face totul folosind exemple practice. Să creăm un script simplu pentru a înregistra comentariile pe care vizitatorii site-ului le vor lăsa.

Mai întâi, să creăm un mesaj de tabel în baza de date cu patru celule. În prima celulă scriem id-ul comentariului. Numărul de caractere dintr-o celulă este de până la zece caractere cu parametrul de auto-increment. Această setare automată se va schimba de fiecare dată când un comentariu este adăugat la +1.

Următoarea celulă este numele utilizatorului. Număr de caractere - până la două sute - trei sute de caractere la alegere, parametru char. Apoi celula de comentariu - în această celulă vom introduce textul comentariului în sine. Dacă doriți să înregistrați texte de comentarii mari, atunci puteți seta parametrul text - atunci puteți introduce pur și simplu texte uriașe, mai mult de cinci sute de mii de caractere sau puteți seta parametrul tinytext, atunci se vor potrivi puțin mai puține caractere, dar se va lucreaza putin mai repede.

Dar în cazul nostru, vom ține cont de faptul că vizitatorii nu vor scrie texte uriașe. Și, prin urmare, ne vom limita și ne vom înregistra două mii de caractere cu parametrul varchar pentru a înregistra valorile șirurilor.

În ultima celulă vom scrie data la care a fost înregistrat textul comentariului. Vom scrie în format numeric în secunde, folosind funcția datei și orei curente time(); Pentru simplitate, vom seta funcția la variabila $time=time(); Și să creăm o celulă în baza de date. Să-i spunem același nume cu time cu parametrul int (pentru valori numerice). Să notăm numărul de caractere - unsprezece este mai bine (cu o marjă mică pentru viitor :-).

Dump-ul bazei de date este după cum urmează:

Structura tabelului `msg` -- CREATE TABLE IF NOT EXISTS `msg` (`id` int(10) NOT NULL AUTO_INCREMENT, `name` char(250) NOT NULL, `coment` varchar(2000) NOT NULL, `time` int(11) NOT NULL, CHEIE PRIMARĂ (`id`)) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

Gata, a fost creat un tabel pentru comentarii. Acum scriem un formular pentru a scrie un comentariu și gestionarea scriptului în sine. Codul HTML pentru formularul de comentarii este următorul.

În acest articol, vom analiza cum să folosiți PHP pentru a insera rânduri într-o bază de date MySQL.

Pasul 1 - Crearea unui tabel

Mai întâi trebuie să creați un tabel pentru date. Aceasta este o procedură simplă care poate fi efectuată folosind phpMyAdmin în panoul de control al găzduirii.

După conectarea la phpMyAdmin, veți vedea această interfață:

Să creăm un tabel numit Studenți în baza de date u266072517_name făcând clic pe butonul „Creează tabel”. După aceasta, vom vedea o nouă pagină pe care vom seta toți parametrii necesari de tabel:

Aceasta este cea mai simplă setare care poate fi folosită pentru un tabel și pentru a obține mai multe informații despre structura tabelului/bazei de date.

Opțiuni de coloane:

  • Nume este numele coloanei care apare în partea de sus a tabelului.
  • Tip — tip de coloană. De exemplu, am ales varchar pentru că vom introduce valori de șir.
  • Lungime/Valori - Folosit pentru a specifica lungimea maximă pe care o poate avea o intrare din această coloană.
  • Index - Am folosit indexul „Primar” pentru câmpul „ID”. La crearea unui tabel, se recomandă utilizarea unei singure coloane ca cheie primară. Este folosit pentru a lista înregistrările din tabel și este necesar la configurarea tabelului. Am notat și „A_I”, care înseamnă „Auto Increment” - parametrul pentru atribuirea automată a numerelor de înregistrare (1,2,3,4...).
    Faceți clic pe butonul „Salvare” și va fi creat tabelul.

Pasul 2: Scrieți codul PHP pentru a introduce date în MySQL.

Opțiunea 1 - metoda MySQLi

Mai întâi trebuie să stabiliți o conexiune la baza de date. După aceasta folosim interogarea SQL INSERT. Exemplu de cod complet:

" . mysqli_error($conn); ) mysqli_close($conn); ?>

Prima parte a codului (linia 3 - 18) este destinată să se conecteze la baza de date.

Să începem cu rândul numărul 19:

$sql = "INSERT INTO Students (nume, prenume, e-mail) VALORI ("Thom", "Vial", " [email protected]")";

Inserează date într-o bază de date MySQL. INSERT INTO este o instrucțiune care adaugă date la un tabel specificat. În exemplul nostru, datele sunt adăugate la tabelul Studenți.

Urmează o listă de coloane în care sunt inserate valorile: nume, prenume, e-mail. Datele vor fi adăugate în ordinea specificată. Dacă am fi scris (email, prenume, nume), valorile ar fi fost adăugate într-o altă ordine.

Următoarea parte este declarația VALUES. Aici specificăm valorile pentru coloanele: nume = Thom, prenume = Fiolă, email = [email protected].

Am rulat cererea folosind cod PHP. În codul programului, interogările SQL trebuie să fie eliminate cu ghilimele. Următoarea bucată de cod (linia 20-22) verifică dacă solicitarea noastră a avut succes:

if (mysqli_query($conn, $sql)) ( echo „Înregistrare nouă creată cu succes”; )

Acest cod afișează un mesaj care indică faptul că solicitarea a avut succes.

ŞI ultima parte(linia 22 - 24) afișează o notificare dacă cererea nu a avut succes:

else ( echo "Eroare: " . $sql . "
" . mysqli_error($conn); )

Opțiunea 2 - Metoda PHP Data Object (PDO).

Mai întâi trebuie să ne conectăm la baza de date prin crearea unui nou obiect PDO. Când lucrăm cu el vom folosi diverse metode DOP. Metodele obiect sunt numite după cum urmează:

$obiectul->Metoda();

PDO vă permite să „pregătiți” codul SQL înainte de a fi executat. Interogarea SQL este evaluată și „corectată” înainte de rulare. De exemplu, un atac simplu de injectare SQL poate fi efectuat prin simpla introducere a codului SQL într-un câmp de formular. De exemplu:

Deoarece acesta este SQL corect din punct de vedere sintactic, punctul și virgulă face DROP DATABASE user_table o nouă interogare SQL și tabelul utilizator este abandonat. Expresiile pregătite (variabilele legate) nu permit punctului și virgulă și ghilimele să încheie interogarea originală. Prin urmare, comanda DROP DATABASE nu se va executa niciodată.

Pentru a utiliza expresii pregătite, trebuie să scrieți o nouă variabilă care apelează metoda prepare() a obiectului bazei de date.

Cod corect:

getMessage(); ) // Setați variabile pentru persoana pe care dorim să o adăugăm în baza de date $first_Name = "Thom"; $last_Name = "Fila"; $email = " [email protected]"; // Creați o variabilă care apelează metoda prepare() a obiectului bazei de date // Interogarea SQL pe care doriți să o rulați este introdusă ca parametru, iar substituenții sunt scrisi astfel: placeholder_name $my_Insert_Statement = $my_Db_Connection->prepare(" INSERT INTO Students (nume, prenume, e-mail) VALUES (:first_name, :last_name, :email)"); // Acum spunem scriptului ce variabilă se referă la fiecare substituent pentru a utiliza metoda bindParam() // Primul parametru este substituentul din instrucțiunea de mai sus, a doua este variabila la care ar trebui să facă referire la $my_Insert_Statement->bindParam(:first_name, $first_Name->bindParam(:last_name, $last_Name // Execută interogarea folosind datele we); tocmai definit // Metoda execute() returnează TRUE dacă reușește și FALSE dacă eșuează, oferindu-vă opțiunea de a vă imprima propriul mesaj if ($my_Insert_Statement->execute()) ( echo "New recordcreatedsuccessfully"; ) else ( echo "Nu se poate crea înregistrarea"; ) // În acest moment puteți modifica datele variabile și puteți rula o interogare pentru a adăuga mai multe date la datele bazei de date în baza de date $first_Name = "John"; $last_Name = "Smith"; $email = " [email protected]"; $my_Insert_Statement->execute(); // Executați din nou când variabila este schimbată if ($my_Insert_Statement->execute()) ( echo "New recordcreatedsuccessfully"; ) else ( echo "Nu se poate crea înregistrarea";

Pe liniile 28, 29 și 30, folosim metoda bindParam() a obiectului bazei de date. Există, de asemenea, o metodă bindValue(), care este foarte diferită de cea anterioară.

  • bindParam() - Această metodă evaluează datele atunci când este atinsă metoda execute(). Prima dată când scriptul ajunge la metoda execute(), vede că $first_Name se potrivește cu „Thom”. Apoi leagă această valoare și rulează cererea. Când scriptul ajunge la a doua metodă execute(), vede că $first_Name acum se potrivește cu „John”. Apoi leagă această valoare și rulează din nou interogarea cu valori noi. Este important să ne amintim că am definit o interogare o dată și am reutilizat-o cu date diferite în diferite puncte ale scriptului.
  • bindValue() - Această metodă evaluează datele odată ce bindValue() este atins. Deoarece $first_Name a fost setat la „Thom”, când este atins bindValue(), acesta va fi folosit de fiecare dată când metoda execute() este apelată pe $my_Insert_Statement.
    Observați că reutilizam variabila $first_Name și îi atribuim o nouă valoare a doua oară. După rularea scriptului, ambele nume vor fi listate în baza de date, în ciuda faptului că variabila $first_Name de la sfârșitul scriptului are valoarea „John”. Amintiți-vă că PHP verifică întregul script înainte de a rula.

Dacă actualizați scriptul pentru a înlocui bindParam cu bindValue, veți introduce „Thom Vial” în baza de date de două ori și John Smith va fi ignorat.

Pasul 3 - Confirmați succesul și rezolvați problemele

Dacă solicitarea de inserare a rândurilor în baza de date a avut succes, vom vedea următorul mesaj:

Depanarea erorilor comune

MySQLi

În orice alt caz, va fi afișat un mesaj de eroare. De exemplu, să facem o eroare de sintaxă în cod și vom obține următoarele:

Prima parte a codului este ok, conexiunea a fost stabilită cu succes, dar interogarea SQL a eșuat.

"Eroare: INSERT INTO Students (nume, prenume, e-mail) VALUES ("Thom", "Vial", " [email protected]") Aveți o eroare în sintaxa dvs. SQL; verificați manualul care corespunde versiunii de server MySQL pentru sintaxa drepturilor de utilizat lângă "(nume, prenume, e-mail) VALORI ("Thom", "Vial", " [email protected]")" la rândul 1"

A apărut o eroare de sintaxă care a cauzat blocarea scriptului. Eroarea a fost aici:

$sql = "INSERT INTO Students (nume, prenume, e-mail) VALORI ("Thom", "Vial", " [email protected]")";

Am folosit bretele în loc de cele obișnuite. Acest lucru este incorect și scriptul a generat o eroare de sintaxă.

DOP

Linia 7 a conexiunii PDO setează modul de eroare să „afișeze toate excepțiile”. Dacă se setează la o valoare diferită și cererea a eșuat, nu vom primi niciun mesaj de eroare.

Această setare ar trebui utilizată numai atunci când se dezvoltă un script. Când sunt activate, pot fi afișate nume de baze de date și de tabel care sunt cel mai bine ascunse din motive de securitate. În cazul descris mai sus, când acoladele au fost folosite în loc de acolade obișnuite, mesajul de eroare arată astfel:

Eroare fatală: excepție neprinsă „PDOException” cu mesajul „SQLSTATE: Eroare de sintaxă sau violare de acces: 1064 Aveți o eroare în sintaxa dvs. SQL; verificați manualul care corespunde versiunii de server MySQL pentru sintaxa drepturilor de utilizat lângă „(nume, prenume, e-mail) VALORI („Thom”, „Vial”, „ [email protected]")" la rândul 1"

Alte probleme posibile:

  • Coloanele sunt specificate incorect (coloane inexistente sau nume de coloane scrise greșit).
  • Un tip de valoare este atribuit unei coloane de alt tip. De exemplu, dacă încercați să introduceți numărul 47 în coloana Nume, veți primi o eroare. Această coloană trebuie să utilizeze o valoare șir. Dar dacă am specifica un număr între ghilimele (de exemplu, „47”), ar funcționa, deoarece este un șir.
  • S-a încercat introducerea datelor într-un tabel care nu există. A existat și o greșeală de ortografie în numele tabelului.

După introducerea cu succes a datelor, vom vedea că acestea au fost adăugate în baza de date. Mai jos este un exemplu de tabel cu date adăugate.

Comentariile mutate de pe blog

SERGE
14.09.2016 ora 01:25
Bună ziua!
Sunt interesat de următoarea întrebare: care este cel mai simplu mod de a organiza stocarea datelor și a setărilor programului fără a utiliza o bază de date? Nu vreau să fiu legat de MySQL sau Access..

ADMIN
14.09.2016 ora 22:14
Buna ziua!

Proprietăți.Setări
App.Config
fișier XML
serializare
Încercați să alegeți una dintre acestea din listă.

NICHOLAY
16.09.2016 la ora 02:28
Bună ziua, cum pot șterge rândul selectat din dataGridVIEW din dataGridVIew și phpMyAdmin.

PhpMyAdmin? Acesta este doar un shell pentru lucrul cu o bază de date, poți explica?

NICHOLAY
18.09.2016 la ora 02:24
Este necesar ca rândul selectat să fie șters din DataGridView și din baza de date.

ADMIN
19.09.2016 ora 07:00
Cum să ștergeți un rând într-o bază de date Mysql - a adăugat un articol.

NICHOLAY
20.09.2016 ora 09:20
Mulţumesc mult.

DIMA
20.09.2016 ora 10:24
Bună ziua, este posibil să implementați această metodă nu prin DataGridView, ci prin ComboBox? Dacă da, cum? Multumesc.

ADMIN
22.09.2016 ora 03:21
Buna ziua. Exemplu:

GENNADY
22.09.2016 ora 18:25
de ce ar trebui să introduc un astfel de text în baza de date System.Windows.Forms.TextBox, Text: ge

Apropo, acest (ge) la sfârșit este scris după genă, chiar dacă textul este specificat în setările tabelului. Cuvântul genei ar fi trebuit să se potrivească mai departe, afișez acest tabel în programul meu și se dovedește că îmi afișează tot acest text inutil

ADMIN
24.09.2016 ora 04:17
Cel mai probabil, interogarea SQL este scrisă incorect, de exemplu:

În textBox1 introduceți numele: Gena.

Interogare Sql: „Inserați valori în nume de tabel (textBox1, ..)”; Rezultat: System.Windows.Forms.TextBox

Și trebuie să treceți: „Inserați în nume de tabel valori (textBox1.Text, ..)”;
Rezultat: Gena

GENNADY
24.09.2016 ora 18:41
Da, așa este. Multumesc

SERGE
25.09.2016 ora 11:51
Buna ziua. Cum se implementează adăugarea la baza de date prin textBox?

ADMIN
26.09.2016 ora 20:53
Totul este la fel în principiu. De exemplu, să luăm ultimul exemplu, are nevoie de:

//creați parametri și adăugați-i în colecție cmd.Parameters.AddWithValue("@Name", textBox1.Text); cmd.Parameters.AddWithValue("@LastName", textBox2.Text);

acum parametrii: Nume și Nume primesc valorile introduse în casetele de text și le transferă în baza de date

LINARA
27.09.2016 ora 17:45
Bună ziua, cum să selectez un rând în dataGridVIEW și phpMyAdmin?

ADMIN
29.09.2016 ora 02:06
Nu știu cum să evidențiez o linie în phpMyAdmin. Și în dataGridView, de exemplu, acest lucru se poate face folosind evenimentul SelectionChanged.

P.S.H.
30.09.2016 ora 03:48
2Linara:
Dacă doriți să editați rândurile în acest fel, luați un instrument la HediSQL, configurați și modificați rândurile.

2admin
Bună ziua! Mulțumesc pentru materiale - totul este foarte tare)
Întrebare: adaug date cu următoarea solicitare (este una de test):

String sql = „INSERT INTO utilizatori (`FIO`, `Tur`, `Număr`, `Cost`, `Data`, `Pașaport`, `Naștere`) VALORI ("Kolyan", "Moscova", "1+1 ", 1100, "2011-11-11", "1111 1111", "9.11.1900");";

Datele sunt introduse ok, dar în baza de date (mysql) în loc de alfabetul chirilic apare „????”.

Visual studio spune că System.String este o secvență Unicode.

Am incercat si:

ALTER DATABASE `test` COLLATE "koi8r_general_ci"; ALTER TABLE `users` COLLATE="koi8r_general_ci"; ALTER DATABASE `test` COLLATE "utf8_unicode_ci"; ALTER TABLE `users` COLLATE="utf8_unicode_ci";

Dar nu ajută...
Care ar putea fi problema? Diferite codificări VS și DB? Sau ce?
Imi puteti indruma ce sa citesc/modific.
Multumesc

ADMIN
10.01.2016 ora 09:49
Buna ziua.

În baza de date (și în tabel) maparea este utf_general_ci

Există o astfel de comparație? Poate utf8_general_ci?

De obicei ei creează o bază de date Mysql alegând comparația utf8_general_ci, deci nu există probleme cu alfabetul chirilic, cu excepția cazului în care, desigur, escrocii vin de la client la server.

COLLATION este folosit pentru comparație, dar în acest caz codificarea (setul de caractere) este importantă. Prin urmare, mai întâi trebuie să vă asigurați că este setat corect pe server, de exemplu în utf8, și nu latin1.

Când vă conectați prin conectorul .net (în mod implicit), latin1 este utilizat, așa că uneori trebuie să specificați în mod explicit codificarea utf8 în șirul de conexiune:

MySqlConnection mycon; mycon = new MySqlConnection("server=127.0.0.1;uid=vasya;pwd=123;database=test;Charset=utf8;"); //MySqlConnectionStringBuilder: mysqlCSB.CharacterSet = "utf8";

P.S.H.
10.01.2016 ora 11:34
Ai dreptate m-am facut pipi, utf8_general_ci!
Da, a ajutat, ;Charset=utf8;
Multumesc mult!

SERGIE
10.02.2016 ora 11:02
Mulțumesc pentru exemplul de lucru. Întrebare
Am creat un câmp de text în care aș dori să introduc adresa IP a bazei de date, dar nu știu cum să introduc aceste date aici

String conStr = "server=@textBox2;user=test;" +
"baza de date=test;parola=test;";
Vă rog să-mi spuneți cum să inserez date din câmpurile de text într-un formular Windows în acest design...

ADMIN
10.03.2016 ora 11:50
"[email protected];utilizator=...
În general, este mai bine să folosiți proprietăți în loc de un astfel de șir, ca în acest articol, sau metoda String.Format()

OLGA2203
15.05.2017 ora 20:14

String Connect = „Server=127.0.0.1;Port=3306;Database=base;Data Source=localhost;user=root;”; MySqlConnection con = new MySqlConnection(Conectare); con.Open(); //Stabiliți o conexiune la baza de date. MySqlCommand cmd = new MySqlCommand(); cmd.CommandText = @”INSERT INTO tovar(ID,Categorie,Nume,Marcă comercială,Preț,Fotografie,Dimensiune,Culoare,Material,Număr) VALORI (@pr, @Categorie, @Nume, @Marcă comercială, @Preț, @Fotografie, @Dimensiune, @Culoare, @Material, @Număr)”; cmd.Parameters.AddWithValue(„@pr”,counter); cmd.Parameters.AddWithValue(“@Category”, comboBox1.SelectedItem.ToString()); cmd.Parameters.AddWithValue(“@Name”, textBox1.Text); cmd.Parameters.AddWithValue(“@TradeMark”, textBox2.Text); cmd.Parameters.AddWithValue(“@Price”, Convert.ToInt32(textBox4.Text)); cmd.Parameters.AddWithValue(“@Photo”, textBox3.Text); cmd.Parameters.AddWithValue(“@Size”, textBox6.Text); cmd.Parameters.AddWithValue(“@Color”, textBox5.Text); cmd.Parameters.AddWithValue(„@Material”, textBox8.Text); cmd.Parameters.AddWithValue(“@Count”, Convert.ToInt32(textBox7.Text)); cmd.Conection = con; cmd.ExecuteNonQuery(); MessageBox.Show(„Adăugarea a avut succes”, „Adăugarea a avut succes”, MessageBoxButtons.OK, MessageBoxIcon.Asterisk);

Este afișată eroarea „Coloana „ID” nu poate fi nulă”, elimin adăugarea la coloana ID - același lucru este scris despre următoarea coloană etc.
Dacă introduc valori constante între paranteze în VALORI, rândul este adăugat la baza de date.
Spune-mi, te rog, care este problema? Trebuie să înregistrez exact datele și valorile introduse prin formular în baza de date

În această postare vreau să vă spun, cum să transferați datele introduse în formular în baza de date. Și așa creăm un formular simplu în care vom avea două câmpuri: numele utilizatorului și e-mailul acestuia:

Numele dumneavoastră:
E-mailul dvs.:


Acest formular poate fi folosit pentru a inregistra un utilizator nou, pentru a trimite noutati, pentru a colecta statistici, sau pentru orice... In general, utilizatorul isi introduce datele in acest formular: nume si email, click pe buton si apoi datele intră în scriptul PHP:

$nume = $_POST[„nume”]; $email = $_POST["e-mail"]; $rezultat = mysqli_query("INSERT INTO user (nume, email) VALUES ("$nume", "$email")"); if ($rezultat) ( echo „Date salvate cu succes!”; ) else ( echo „A apărut o eroare, vă rugăm să încercați din nou.”; )


Ce se întâmplă în acest scenariu? Să ne dăm seama acum!
Datele introduse în formular sunt transferate folosind metoda POST în scriptul php (care este scris mai sus), iar folosind matricea globală $_POST, datele sunt formate în variabilele $name și $email:

$nume = $_POST[„nume”]; $email = $_POST["e-mail"];


După ce variabilele sunt gata pentru a fi introduse în baza de date, creăm o cerere. Dar mai întâi, scripturile dvs. trebuie să fie deja conectate la baza de date Am scris în acest thread cum să vă conectați la baza de date: . Cererea în sine arată astfel:

$rezultat = mysqli_query("INSERT INTO user (nume, email) VALUES ("$nume", "$email")");


În acest cod, am indicat că următoarele variabile vor fi adăugate la celulele de nume și e-mail care se află în tabelul de utilizator: $name și $email.
În continuare, dacă totul a mers bine, vom primi un mesaj de la starea:

Datele au fost salvate cu succes!


Dacă apar probleme și datele nu au fost introduse, vom primi un mesaj de eroare:

A apărut o eroare, vă rugăm să încercați din nou.


Asta este!

*** *** *** *** ***

Dacă doriți, puteți adăuga mai multe câmpuri pentru introducerea informațiilor, de exemplu, trebuie să adăugăm un câmp pentru introducerea orașului utilizatorului. Avem deja un script gata făcut (scris mai sus), acum vom adăuga doar un câmp Orașul tău, să numim variabila: $city . Și așa mai departe la formularul de introducere a datelor, după:

E-mailul dvs.:


adăuga:

Orasul tau:


În scriptul php, după:

$email = $_POST["e-mail"];


adăuga:

$oraș = $_POST[„oraș”];


Și, desigur, îl adăugăm și în cerere, astfel:

$rezultat = mysqli_query("INSERT INTO user (nume, email, oras) VALUES ("$nume", "$email", "$oras")");


Iată cu ce ar trebui să ajungi:
Formular de introducere:

Numele dumneavoastră:
E-mailul dvs.:
Orasul tau:


Scenariul:

$nume = $_POST[„nume”]; $email = $_POST["e-mail"]; $oraș = $_POST[„oraș”]; $rezultat = mysqli_query("INSERT INTO user (nume, email, oras) VALUES ("$nume", "$email", "$oras")"); if ($rezultat == true) ( ​​echo „Date salvate cu succes!”; ) else ( echo „A apărut o eroare, vă rugăm să încercați din nou.”; )


După cum puteți vedea, nimic complicat! Dacă este necesar, puteți adăuga un alt câmp și altul și altul...

Articole înrudite