Menü
Ingyenes
becsekkolás
a fő  /  Navigátorok / Hozzáadva a MySQL-hez a PHP-n keresztül. Hogyan kell rögzíteni a MySQL adatbázisban PHP kód használatával

Hozzáadva a MySQL-hez a PHP-n keresztül. Hogyan kell rögzíteni a MySQL adatbázisban PHP kód használatával

A blogból átadott megjegyzések

Sergey
09/14/2016 01:25
Jó napot!
Az ilyen kérdés iránt érdeklődő: Hogyan lehet az adat tárolási és program beállításainak egyszerűen megszervezése az adatbázis használata nélkül? Nem akarok kötődni a MySQL-hez vagy a hozzáféréshez.

Admin.
09/14/2016 22:14.
Helló!

Tulajdonságok.
App.config
XML fájl.
Serialization
Próbáljon meg valamit kiválasztani ebből a listából.

Nikolai
09/16/2016 02:28.
Hello, hogyan kell eltávolítani a kiválasztott karakterláncot a datagridview-ban a Datagride és a Phpmyadmin.

Phpmyadmin? Ez csak egy héj, hogy dolgozzon az adatbázisban, meg tudja magyarázni?

Nikolai
09/18/2016 02:24.
Szükséges, hogy a dedikált karakterláncot eltávolítsák a datagridview és az adatbázisból.

Admin.
09/19/2016 07:00 órakor
Hogyan lehet törölni egy karakterláncot a MySQL adatbázisban - hozzáadott egy cikket.

Nikolai
09/20/2016 09:20
Nagyon köszönöm.

Dima
09/20/2016 A 10: 24-kor
Hello, tud ez a módszer Nem valósíthatja meg a datagridview, de a Combobox segítségével? Ha igen, hogyan? Köszönöm.

Admin.
09/22/2016 03:21
Helló. Példa:

Fenády
09/22/2016 18:25
Miért kell belépnék a System.windows.Forms.Textbox, Szöveg: GE

A veremhez, ez a (GE) a végéig meg van írva a gént. Legalább a táblázatbeállításokban a szöveg meg van adva. A genetének tovább kell illeszkednie. Ezt a táblázatot a programomhoz hozza, és kiderül, hogy megjelenik Mindez ezt a felesleges szöveget.

Admin.
09/24/2016 04: 17-kor.
Valószínűleg az SQL lekérdezést helytelenül írják, például:

A TextBox1-ben 1-et adok meg: gén.

SQL lekérdezés: "Helyezze be a név táblázat értékeit (TextBox1, ..); Eredmény: System.Windows.Forms.textbox.

És tovább kell adnia: "Helyezze be az értékek táblázat nevét (Textbox1.Text, ..)";
Eredmény: Gena

Fenády
09/24/2016 18:41.
Így van. Köszönöm

Sergey
09/25/2016 A 11: 51-kor
Helló. És hogyan kell bevezetni az adatbázishoz való hozzáadását a szövegmezőn keresztül?

Admin.
09/26/2016 20:53
Ugyanolyan elvben. Például a legfrissebb példát, szüksége van:

// paraméterek létrehozása és hozzáadása a cmd.parameters.addwithvalue Collection ("@ név", textbox1.Text); cmd.parameters.addwithvalue ("@ vezetéknév", textbox2.Text);

most paraméterek: Név és vezetéknév A Textbox S-ban megadott értékeket kapja meg, és továbbítja azokat az adatbázisba

Linara
09/27/2016 17:45.
Hello, hogyan vannak a kiválasztott karakterlánc a datagridview és a phpmyadmin?

Admin.
09/29/2016 02:06.
Nem tudom, hogyan lehet kiemelni a sort a phpmyadminban. És a datagridview például, ez a kiválasztáscsomagolt esemény használatával történhet.

Psh.
09/30/2016 03:48.
2 kábel:
Ha annyira szeretné szerkeszteni a sorokat, vegye be az A La Hedisql eszközt, konfigurálja és módosítsa a vonalakat.

2Admin.
Jó nap! Köszönöm az anyagokat - minden nagyon hűvös)
Kérdés: Adatokat adok hozzá erre a kérésre (ez teszt):

STRING SQL \u003d "Helyezze be a felhasználókba (" Fio ",` tour`, `count`,` cost`, `dátum", `passport`," születési ") értékek (" Kolyan "," Moszkva "," 1 + 1 ", 1100," 2011-11-11 "," 1111 1111 "," 11111100 ");";

Az adatok rendben vannak, de az adatbázisban (mysql) a cirill helyett "????".

Visual Studio azt mondta, hogy a System.String az Unicode sorrendje.

Is megpróbálta:

Állítsa be az adatbázisot `TEST` Colled" Koi8R_general_ci "; ALTER TÁBLÁZAT A "Felhasználók összegyűjtése \u003d" koi8r_general_ci "; Alter Adatbázis `TEST` Colled" UTF8_UNICODE_CI "; ALTER TABLE `` Users` Collate \u003d "UTF8_UNICODE_CI";

De nem segít ..
Mi lehet baj? Különböző vs kódolás és adatbázis? Vagy mi?
Elküldhetné ezt az olvasást / változást.
Köszönöm

Admin.
10/01/2016 09:49.
Helló.

Az adatbázisban (és a táblázatban), a megfelelő utf_general_ci

Van ilyen összehasonlítás? Talán utf8_general_ci?

Általában hozzon létre egy MySQL adatbázist az UTF8_General_ci összehasonlítás kiválasztásával, így nincsenek problémák a cirillist, kivéve, ha az ügyfél az ügyféltől a kiszolgálóig származik.

Az összehasonlítás összehasonlításra szolgál, és ebben az esetben a kódolás fontos (Charset). Ezért először meg kell győződnie arról, hogy a kiszolgálón helyesen van beállítva, például UTF8-ban, és nem latin1.

Amikor a .NET Connector (alapértelmezett) latin1-et csatlakoztatja, így néha szükséges, hogy kifejezetten meghatározza az UTF8 csatlakozási karakterláncban:

Mysqlconnection mycon; Mycon \u003d új mysqlconnection ("kiszolgáló \u003d 127.0.0.1, uid \u003d vasya; pwd \u003d 123, adatbázis \u003d teszt, karakter \u003d utf8;"); // mysqlconnectionstringbuilder: mysqlcsb.characterset \u003d "UTF8";

Psh.
10/01/2016 A 11: 34-kor.
Igazad van, leírva, UTF8_General_ci!
Igen segített,; Charset \u003d UTF8;
Köszönöm Ogmno!

Sergiy
10/02/2016 11:02.
Köszönjük a munkálkodási példát, jobbra. Kérdés
Olyan szövegmezőt hoztam létre, amelyhez egy adatbázis-címet szeretne beírni, de nem tudom, hogyan helyettesítsem ezt az adatokat itt

String Conson \u003d " [E-mail védett]; Felhasználó \u003d teszt; "+
"Adatbázis \u003d teszt, jelszó \u003d teszt;";
Kérjük, mondja meg, hogyan kell beilleszteni az adatokat a szövegmezőkről a Windows űrlapon ebbe a designba ....

Admin.
03.10.2016 11: 50-kor
"[E-mail védett]; Felhasználó \u003d ...
Általában jobb, ha az e cikkben szereplő tulajdonságokat használják, mint ebben a cikkben, vagy a string.Format () módszer

Olga2203.
05/15/2017 20:14

String connect \u003d "kiszolgáló \u003d 127.0.0.1, port \u003d 3306; adatbázis \u003d alap; adatforrás \u003d localhost; felhasználó \u003d root;"; Mysqlconnection con \u003d új mysqlconnection (Connect); con .open (); // Telepítse az adatbázishoz való kapcsolatot. Mysqlcommand cmd \u003d új mysqlcommand (); cmd.commandtext \u003d @ "beillesztés a TOVAR (ID, kategória, név, védjegy, védjegy, védjegy, védjegy, védjegy, szám) értékek (@PR, @Category, @name, @trademark, @price, @ fotó, @size, @color, @material, @count) "; cmd.parameters.addwithvalue ("@ PR", számláló); cmd.parameters.addwithvalue ("@ kategória", combobox1.selectedtem.tostring ()); cmd.parameters.addwithvalue ("@ név", textbox1.Text); cmd.parameters.addwithvalue ("@ védjegy", textbox2.Text); cmd.parameters.addwithvalue ("@ ár", convert.toint32 (Textbox4.Text)); cmd.parameters.addwithvalue ("@ fotó", textbox3.text); cmd.parameters.addwithvalue ("@ méret", textbox6.Text); cmd.parameters.addwithvalue ("@ szín", textbox5.Text); cmd.parameters.addwithvalue ("@ anyag", textbox8.Text); cmd.parameters.addwithvalue ("@ count", convert.toint32 (Textbox7.Text)); cmd.connection \u003d con; cmd.executenonquery (); MessageBox.Show ("Ez sikeres" volt "," Ez sikeres volt ", MessageBoxButtons.OK, Messageboxicon.asterisk);

A "oszlop" azonosító "nem lehet null" hiba, távolítsa el az azonosító hozzáadását az oszlophoz - ugyanaz a dolog a következő oszlopban, stb.
Ha bármilyen állandó értéket helyez a zárójelben, a karakterlánc hozzáadódik az adatbázishoz.
Mondd meg nekem, kérlek, mi a probléma? Az adatokat és az értékeket az adatbázisban kell rögzíteni

Utolsó frissítés: 1.11.2015

Adatok hozzáadása a "Insert" kifejezés használatához:

$ Query \u003d "Helyezze be a TOVARS értékeket (NULL," Samsung Galaxy III, "Samsumg") ";

A "betét" kifejezés beilleszt egy vonalat az asztalra. Utána kulcsszavak A táblázat nevét jelzi, és a zárójelben lévő értékek után minden oszlop értékét jelzik. Mivel három oszlopunk van a táblázatban, három értéket adunk meg.

Mivel az utolsó témában egy táblázat létrehozásakor jeleztük a következő oszlopszekvenciát: azonosító, név, vállalat, akkor ebben az esetben a null értéket továbbítják az azonosító oszlopba, a névhez - "Samsung Galaxy III", és a Társaság - "Samsumg".

Mivel az azonosító oszlopot auto_incrementnek definiálják, nem kell megadnunk egy bizonyos számértéket, és átadhatja a NULL értéket, és a MySQL hozzárendeli a következő hozzáférhető értéket.

Most fontolja meg a példa adatainak hozzáadását. Hozzon létre egy fájlt létrehozza.php. A következő tartalmakkal:

Adatok hozzáadva";) // zárja be a mysqli_close ($ link) csatlakoztatását;)?\u003e

Új modell hozzáadása

Adja meg a modellt:

Gyártó:

Itt az adatbázis interakciós kódja az űrlapok funkcionalitásával kombinálódik: az űrlap segítségével megadjuk az adatokat az adatbázishoz.

Biztonság és MySQL

Itt használtuk a MySQLI_REAL_ESCE_STRING () funkciót. Ez egy sorban a szimbólumokat szolgálja, amelyet akkor használnak sQL kérés. Paraméterekként elfogadja a kapcsolat tárgyát és egy olyan karakterláncot, amelyet árnyékolni kell.

Így a képernyővédőt ténylegesen kétszer alkalmazzuk: először az SQL kifejezésekhez a MySQLI_REAL_ESCEPE_STRING () funkcióval, majd a HTML-hez a HTMLENTIES () funkció használatával. Ez lehetővé teszi számunkra, hogy közvetlenül megvédjünk kétféle támadástól: XSS támadások és SQL injekciók.

Ebben a cikkben talán megkülönböztetünk, talán az egyik legfontosabb SQL lekérdezések. azt a rekordok hozzáadása és törlése az adatbázis táblából. Mivel nagyon gyakran van adjon hozzá új bejegyzéseket az asztalhoz, és csináld automatikus üzemmódEzt az anyagot tanulmányozni kell.

Kezdeni SQL hozzáadási kérelem Új felvétel asztalnál:

Helyezze be a felhasználókat (bejelentkezési, pass) értékeket ("Testuser", "123456")

A bejegyzés hozzáadásakor a csapat elején jön. " Beilleszt", Akkor az a táblázat neve, amelyben beillesztjük a rekordot. Következő a mezők fejébe kerül, amelyet kitölteni akarunk. És aztán zárójelben a szó után" Értékek."Elkezdtük felsorolni azokat a mezők értékeit, amelyeket választottunk. A kérés végrehajtása után új bejegyzés jelenik meg az asztalunkban.

Néha szükséges frissítés a táblázatbanEhhez a következő SQL kérés:

Frissítse a felhasználókat a bejelentkezés beállítása \u003d "TestUser2", Pass \u003d "1234560", ahol bejelentkezés \u003d "TestUser"

Ez a kérés nehezebb, mivel tervezi " Hol-, De csak alább. Először van egy csapat " Frissítés.", akkor az asztal neve, és utána" KÉSZLET."Leírjuk az összes olyan mező értékeit, amelyeket megváltoztatni akarunk. Egyszerű lenne, de a kérdés merül fel:" Milyen felvételt kell frissíteni?". Ehhez létezik" Hol"Ebben az esetben frissítjük a bejegyzést, a mezőt" belépés."Ami fontos" Testfelügyelő.". Kérjük, vegye figyelembe, hogy ha több ilyen rekord van abszolút minden frissítésre kerül! Nagyon fontos megérteni, különben veszélyezteti az asztal elvesztését.

Beszéljünk egy kicsit " Hol"Az egyenlőség egyszerű ellenőrzése mellett vannak egyenlőtlenségek, valamint logikai műveletek is: És. és Vagy..

Frissítse a felhasználókat a bejelentkezés beállítása \u003d "TestUser2", Pass \u003d "1234560", ahol azonosító< 15 AND login="TestUser"

A SQL kérés Frissítse ezeket a rekordokat idézés amelyek kevesebbek 15 ÉS terület " belépés."Van értelme" Testfelügyelő."Remélem, hogy foglalkozott a designnal" Hol", Mert nagyon fontos. Ez" Hol"Használva mintavételi rekordok táblákrólÉs ez a leginkább használatos feladat, amikor az adatbázisokkal dolgozik.

És végül egyszerűen SQL kérés a rekordok törlésére az asztalról:

Törölje a felhasználókat, ahol a bejelentkezés \u003d "TestUser2"

A csapat után " Törölje."Van egy olyan név, amelyben törölni szeretné a rekordokat. Ezután írja le a" hol "designt. Ha a rekord megfelel a leírt feltételeknek, akkor törlésre kerül. Ismét, figyeljen a rekordok számától függően amely megfelel az állapot " Hol", A számuk bármilyen mennyisége törölhető.


A lecke alapul forma visszacsatolás Szükséges gyakorlatilag bármely webhely.

Első lépés: Adatbázis létrehozása Mysql

Nyisd ki phpmyadmin. (belép az alapcsomagba Denwer`a), és hozzon létre egy adatbázist a címmel" test_Base.", Kiválasztom a kódolást" cp1251_general_ci".

Második lépés: B. táblázat létrehozása. Mysql keresztül SQL kérés

Természetesen létrehozhat egy asztalt szabványos eszközök phpmyadmin.De a létrehozott táblázat szerkezete látható lesz.

Hozzon létre egy táblát a címmel " test_table"És hat mezővel nevekkel:
"NAME" - A felhasználók itt tárolódnak;
"E-mail" - A címek itt tárolódnak elektronikus dobozok felhasználók;
"Téma" - Az üzenet tárgya itt tárolódik;
"Üzenet" - Az üzenetek itt tárolódnak;
"Adatok" - Az üzenet elküldésének dátuma itt tárolódik;
"ID" - A rekord (húrok) azonosító száma, kulcsfontosságú mező.

SQL lekérdezés:
Teszt_Table Táblázat létrehozása (
ID INT (11) NEM NULL AUTO_ILCREMENT,
Név Varchar (255) NEM NULL,
E-mail Varchar (255) NEM NULL,
Varchar téma (255) NEM NULL,
Az üzenet szövege nem ,
Az adatok dátuma nem ,
Elsődleges kulcs (ID)
);

Harmadik lépés: Forma létrehozása

index.html:

A MySQL mentésével

Példa formanyomtatvány a MySQL-ben

























Kérés küldése
Név:
Email:
Üzenet Tárgya:
Üzenet:
























4. lépés: Űrlapkezelő létrehozása " sAVE_FORM.PHP."A kapott adatok megőrzésével Mysql

sAVE_FORM.PHP:





/ * MySQL táblázat, amelyben az adatok tárolják * /
$ táblázat \u003d "test_table";

/ * Kapcsolat létrehozása * /

/ * Határozza meg az aktuális dátumot * /
$ CDATE \u003d dátum ("Y-M-D");

/ * Kérjen információt az asztal beillesztéséhez
Név ... dátuma - az adatbázis meghatározott mezők neve;
$ _Post ["test_name"] ... $ _post ["test_mess"] - Ezek a változók tartalmazzák az űrlapotól kapott adatokat * /
$ QUERY \u003d "INSERT IN TABLE SET NAME \u003d" ". $ _ POST [" TEST_NAME "]." ", E-mail \u003d". "$ _ Post [" test_mail "]." "
Theme \u003d "". $ _ Post ["Test_theme"]. "", Üzenet \u003d "". $ _ Post ["test_mess"]. "", Adatok \u003d "$ CDATE";

/ * Zárja be a kapcsolatot * /
mysql_close ();

/ * Sikeres mentés esetén jelenítse meg az üzenetet és a visszatérítési linket * /
Echo ("


Az adatok sikeresen mentettek!



Gyere vissza
");

Pitch Fifth: A mentett adatok következtetése " view_data.php."

view_data.php:

/ * Csatlakoztassa az adatbázist * /
$ hostname \u003d "localhost"; // Cím / szerver útvonal, a MySQL-vel
$ USERNAME \u003d "root"; // felhasználónév (Denwer`e alapértelmezett "root")
$ jelszó \u003d ""; // A felhasználó jelszava (a DENWER`E-ben az alapértelmezett jelszó hiányzik, ez a paraméter üres lehet)
$ dbname \u003d "test_base"; // Adatbázis név


$ táblázat \u003d "test_table";

/ * Kapcsolat létrehozása * /
Mysql_connect ($ hostname, $ USERNAME, $ jelszó) vagy meghal ("i calce koncepció");

/ * Válassza ki az adatbázist. Ha hiba lép fel - kimenete * /
mysql_select_db ($ dbname) vagy meghal (mysql_error ());

/ * A "Név" mezőkből származó adatok kivonására vonatkozó kérelem, "E-mail", "téma",
"Üzenet", "Adatok" táblázat "Test_Table" * /
$ Query \u003d "Válasszon azonosítót, nevet, e-mailt, témát, üzenetet, üzenetet, adatokat a $ táblából";

/ * Végezze el a kérést. Ha hiba lép fel - kimenet. * /


Echo ("

Adatkimenet a MySQL-ről

A korábban mentett adatok visszavonása a MySQL táblából










");



Echo "

\\ n ";
Echo " \\ n ";
Echo " \\ n ";
Echo " \\ n ";
Echo " \\ n ";
Echo " \\ n ";
Echo " N.\\ n ";
}

Echo ("

# Az alkalmazás dátuma A felhasználók nevei E-mail felhasználók Üzenet Tárgya A felhasználók üzenetei
"$ sor [" id "].""$ Sor [" adatok "].". "$ Sor [" név "].". "$ Sor [" e-mail "].""$ sor [" téma "]."". $ sor [" üzenet "]."
\\ n ");

/ * Zárja be a kapcsolatot * /
mysql_close ();

Hatodik lépés: Records törlése az adatbázisból " del_data.php."

del_data.php:

/ * Csatlakoztassa az adatbázist * /
$ hostname \u003d "localhost"; // Cím / szerver útvonal, a MySQL-vel
$ USERNAME \u003d "root"; // felhasználónév (Denwer`e alapértelmezett "root")
$ jelszó \u003d ""; // A felhasználó jelszava (a DENWER`E-ben az alapértelmezett jelszó hiányzik, ez a paraméter üres lehet)
$ dbname \u003d "test_base"; // Adatbázis név

/ * MySQL táblázat, amelyben az adatok tárolása * /
$ táblázat \u003d "test_table";

/ * Kapcsolat létrehozása * /
Mysql_connect ($ hostname, $ USERNAME, $ jelszó) vagy meghal ("i calce koncepció");

/ * Válassza ki az adatbázist. Ha hiba lép fel - kimenete * /
mysql_select_db ($ dbname) vagy meghal (mysql_error ());

/ * Ha az eltávolítási linket megnyomta, törölje a bejegyzést * /
$ del \u003d $ Query \u003d "Törölje a $ táblából, ahol (id \u003d" $ del ")";
/ * Végezze el a kérést. Ha hiba lép fel - kimenet. * /
Mysql_query ($ lekérdezés) vagy meghal (mysql_error ());



/ * Végezze el a kérést. Ha hiba lép fel - kimenet. * /
$ Res \u003d mysql_query ($ lekérdezés) vagy meghal (mysql_error ());

$ sor \u003d mysql_num_rows ($ res);

/ * Az adatok megjelenítése az alábbi táblázatból * /
Echo ("

Adatok megjelenítése és törlése a MySQL-ről

Megjeleníti és törli a korábban mentett adatokat a MySQL táblából











");

/ * Adatkimeneti ciklus az egyes mezők alapjából * /
Míg ($ sor \u003d mysql_fetch_array ($ res)) (
Echo "

\\ n ";
Echo " \\ n ";
Echo " \\ n ";
Echo " \\ n ";
Echo " \\ n ";
Echo " \\ n ";
Echo " \\ n ";
/ * Generálunk egy linket a mező eltávolításához * /
Echo " \\ n ";
Echo "\\ n ";
}

Echo ("

# Az alkalmazás dátuma A felhasználók nevei E-mail felhasználók Üzenet Tárgya A felhasználók üzenetei Eltávolítás
"$ sor [" id "].""$ Sor [" adatok "].". "$ Sor [" név "].". "$ Sor [" e-mail "].""$ sor [" téma "]."". $ sor [" üzenet "]."Töröl
\\ n ");

/ * Zárja be a kapcsolatot * /
mysql_close ();

Hetedik lépés: A bejegyzések szerkesztése és frissítése az adatbázisban " update_data.php."

update_data.php:

/ * Csatlakoztassa az adatbázist * /
$ hostname \u003d "localhost"; // Cím / szerver útvonal, a MySQL-vel
$ USERNAME \u003d "root"; // felhasználónév (Denwer`e alapértelmezett "root")
$ jelszó \u003d ""; // A felhasználó jelszava (a DENWER`E-ben az alapértelmezett jelszó hiányzik, ez a paraméter üres lehet)
$ dbname \u003d "test_base"; // Adatbázis név

/ * MySQL táblázat, amelyben az adatok tárolása * /
$ táblázat \u003d "test_table";

/ * Kapcsolat létrehozása * /
Mysql_connect ($ hostname, $ USERNAME, $ jelszó) vagy meghal ("i calce koncepció");

/ * Válassza ki az adatbázist. Ha hiba lép fel - kimenete * /
mysql_select_db ($ dbname) vagy meghal (mysql_error ());

/ * Ha megnyomta a szerkesztési gombot, módosítsa a módosításokat * /
Ha (@ $ submit_edit) (
$ Query \u003d "$ Table Set Name \u003d" $ Test_Name ", e-mail \u003d" $ Test_mail ", téma \u003d" $ Test_theme ", üzenet \u003d" $ Test_mess ", ahol id \u003d" $ frissítés ";
/ * Végezze el a kérést. Ha hiba lép fel - kimenet. * /
Mysql_query ($ lekérdezés) vagy meghal (mysql_error ());
}

/ * Adjuk meg a $ RS változó a teljes adatbázis * /
$ Lekérdezés \u003d "Válassza ki a * -ot a $ táblából";
/ * Végezze el a kérést. Ha hiba lép fel - kimenet. * /
$ Res \u003d mysql_query ($ lekérdezés) vagy meghal (mysql_error ());
/ * Megtudjuk az adatbázisban lévő bejegyzések számát * /
$ sor \u003d mysql_num_rows ($ res);

/ * Az adatok megjelenítése az alábbi táblázatból * /
Echo ("

Az adatok szerkesztése és frissítése

Adatok szerkesztése és frissítése a MySQL táblában


");

/ * Adatkimeneti ciklus az egyes mezők alapjából * /
Míg ($ sor \u003d mysql_fetch_array ($ res)) (
Echo "

\\ n ";
Echo " \\ n ";
Echo " \\ n ";
Echo " \\ n ";
Echo " \\ n ";
Echo "\\ n ";
Echo " \\ n ";
Echo "\\ n ";
Echo " \\ n ";
Echo "\\ n ";
Echo " \\ n ";
Echo "\\ n ";
Echo " \\ n ";
Echo "\\ n ";
Echo " \\ n ";
Echo "
# "$ sor [" id "]."
"$ Sor [" adatok "]."
Felhasználónév:
E-mail felhasználó:
Üzenet Tárgya:
Üzenet:
\\ N \\ n ";
}

/ * Zárja be a kapcsolatot * /
mysql_close ();

Nos, ez minden, kellemes kódolás: 1133:

_________________________________

Ebben a cikkben megnézzük, hogyan kell használni a PHP-t a sorok beillesztéséhez a MySQL adatbázisba.

1. lépés - Egy asztal létrehozása

Először létre kell hoznia egy táblázatot az adatokhoz. azt egyszerű eljárásamely a PHPMYADMIN használatával hajtható végre a Hosting kezelőpanelen.

A PHPMYADMIN belépése után egy ilyen felületet fog látni:
Hozzon létre egy táblát az U266072517__NAME adatbázisban a "Táblázat létrehozása" gombra kattintva. Ezt követően látni fogjuk Új oldalamelyen megadja az asztal összes szükséges paraméterét:

Ez a leginkább egyszerű beállításamely az asztalhoz és a fogadáshoz használható további információért Táblázatok / adatbázisok szerkezetére.

Oszlopparaméterek:

  • A név az asztal tetején megjelenő oszlop neve.
  • Típus - oszlop típusa. Például Varchar-t választottunk, mert beírjuk a string értékeket.
  • Hossz / értékek - A maximális hosszúság jelzésére használható, amely ebben az oszlopban rögzíthető.
  • Index - Az "ID" mező "elsődleges" indexét használtuk. A táblázat létrehozásakor javasoljuk, hogy csak egy oszlopot alkalmazzon elsődleges kulcsként. Az asztal beállításakor felsorolja a bejegyzéseket, és az asztal beállításakor szükséges. Azt is megjegyeztem, hogy "A_I", ami azt jelenti, hogy "Auto Inprement" - a felvevő automatikus hozzárendelési paramétere (1,2,3,4 ...).
    Kattintson a Mentés gombra, és a táblázat létrehozása.

2. lépés: PHP kód írása a MySQL adatbevitelhez.

1. lehetőség - MySQLI módszer

Először létre kell hoznia az adatbázishoz való kapcsolatot. Ezt követően használja a Beszúrás SQL kérését. Teljes minta kód:

". mysqli_error ($ con);) mysqli_close ($ con);?\u003e

A kód első részét (3 - 18 sor) úgy tervezték, hogy csatlakozzon az adatbázishoz.

Kezdjük a 19-es sorból:

$ Sql \u200b\u200b\u003d "Helyezze be a diákokat (név, vezetéknév, e-mail) értékek (" Thom "," injekciós üveg "," [E-mail védett]")";

Adatokat helyez be a MySQL adatbázisba. Helyezzen be olyan operátor, amely hozzáadja az adatokat a megadott táblázathoz. Példánkban az adatok hozzáadódnak a diákok asztalához.

Ezután az oszlopok listája, amelyekben az értékek be vannak helyezve: Név, vezetéknév, e-mail. Adatok kerülnek hozzáadásra a megadott sorrendben. Ha írtunk (e-mail, vezetéknév, név), az értékek hozzáadódnának egy másik sorrendben.

A következő rész az értékszolgáltató. Itt adjuk meg az oszlopok értékeit: NAME \u003d Thom, LastName \u003d injekciós üveg, e-mail \u003d [E-mail védett]

A PHP-kód használatával kérelmet indítottunk. BAN BEN programkód Az SQL kéréseket idézőjelekkel kell árnyékolni. A kód következő része (20-22 sor) ellenőrzi, hogy kérése sikeres volt-e:

ha (mysqli_query ($ conn, $ sql)) (Echo "új felvételi";)

Ez a kód megjeleníti a sikeres lekérdezés üzenetét.

És az utolsó rész (22 - 24 sor) megjeleníti az értesítést, ha a kérés nem volt sikeres:

más (echo "hiba:" $ sql. "
". mysqli_error ($ con);)

2. opció - PHP adatobjektum módszer (PDO)

Először is csatlakoztatnunk kell az adatbázishoz egy új OEM objektum létrehozásával. Ha együtt dolgozunk, különböző OEM-módszereket fogunk használni. Az objektumok módszerei a következők:

$ The_object-\u003e the_method ();

A PDO lehetővé teszi, hogy "előkészítse az SQL kódot, mielőtt végrehajtásra kerül. Az SQL kérelmet az elindítás előtt értékeljük és "korrigálva" értékeljük. Például az SQL injekció segítségével a legegyszerűbb támadást az SQL kód egyszerű bevezetésével lehet végrehajtani az űrlap mezőben. Például:

Mivel szintaktikailag helyes SQL-kód, egy vesszőpont teszi az új SQL lekérdezést, és az egyéni táblázat törlődik. Az elkészített kifejezések (kapcsolódó változók) nem teszik lehetővé a pontosvessző és az idézőpontot a forráskérés befejezéséhez. Ezért a Drop adatbázis parancsot soha nem fogják végrehajtani.

Az elkészített kifejezések használatához új változót kell írnia, amely az adatbázis objektum előkészítő () módszerét hívja.

Helyes kód:

getmessage (); ) // Állítsa be a változókat a $ First_Name \u003d "Thom" hozzáadása az adatbázishoz; $ last_name \u003d "injekciós üveg"; $ email \u003d " [E-mail védett]"; Név, vezetéknév, e-mail) értékek (: First_name,: last_name,: e-mail)"); // Most megadjuk a parancsfájlt, amely változó az egyes helyőrzők számára utal a Bindparam () módszer // az első paraméter használatára A fentiekben szereplő töltőanyag, a második olyan változó, amelyre a $ my_insert_statement-\u003e bindparam (: first_name, $ first_name); $ my_insert_statement-\u003e bindparam (: last_name, $ last_name); $ my_insert_statement-\u003e bindparam ( : e-mail, $ e-mail); // Végezze el a lekérdezést az éppen meghatározott adatok használatával // végrehajtja () Végrehajtás () Visszatér, ha sikeres, és hamis, ha nem, akkor azt, hogy képes-e megjeleníteni saját, ha üzenetet ( $ My_insert_statement-\u003e Execute ()) (Echo "Új Reco. rdcreatedsuccessenten "; ) (Echo "Nem lehet a CreateCord";) // Ebben a pontban megváltoztathatja ezeket a változóit, és végrehajthatja a kérelmet, hogy más adatokat adjon hozzá az adatokhoz $ first_name \u003d "John" adatbázishoz; $ last_name \u003d "Smith"; $ email \u003d " [E-mail védett]", $ My_insert_statement-\u003e végrehajtja (); // ismételjétek meg, ha a változó megváltozik, ha a változó megváltozik, ha ($ my_insert_statement-\u003e végrehajtja ()) (Echo" New RecordCreateedSuccessfully ";) más (echo" nem tudja a CreateCord ";

A 28., 29. és 30. sorban az adatbázis objektum Bindparam () módszerét használjuk. Van egy bindvalue () módszer is, amely nagyon különbözik az előzőtől.

  • bindparam () - Ez a módszer becsüli az adatokat, amikor eléri a végrehajtási módszert. Az első alkalommal, amikor a szkript eléri a végrehajtási () módszert, azt látja, hogy $ first_name megfelel a "Thom" -nek. Ezután megköti ezt az értéket, és elindítja a kérést. Amikor a szkript eléri a második végrehajtási () módszert, azt látja, hogy $ first_name most megfelel a "John" -nek. Ezután csatlakoztatja ezt az értéket, és ismét új értékekkel rendelkező kérést indít. Fontos megjegyezni, hogy egyszer meghatároztuk a kérést, és különböző adatokkal újra felhasználhatjuk a forgatókönyv különböző pontjain.
  • bindValue () - Ez a módszer az adatokat a bindvalue () eléri. Mivel a $ first_name esetében a "Thom" értéket BindValue () értékre állították (), minden alkalommal, amikor a végrehajtó () módszert a $ my_insert_statement hívják.
    Kérjük, vegye figyelembe, hogy újra használjuk a $ First_Name változót, és másodszor új értéket adunk hozzá. Miután elindította a szkript az adatbázisban, mindkét név meg fogja adni, annak ellenére, hogy a forgatókönyv végén a $ first_name változó "John". Ne feledje, hogy a PHP ellenőrzi az egész szkriptet, mielőtt futtatná.

Ha frissíti a szkriptet, hogy cserélje ki a Bindparam BindValue-t, kétszer beilleszti a "Thom injekciós üveg" adatbázisba, és John Smith figyelmen kívül hagyja.

3. lépés - A sikeres végrehajtás és megoldások megerősítése

Ha a lekérdezés a sorok beillesztéséhez az adatbázisba sikeres volt, akkor a következő üzenetet fogjuk látni:

A közös hibák megszüntetése

Mysqli.

Más esetben hibaüzenet jelenik meg. Például készítsünk egy szintaktikai hibát a kódban, és megkapjuk a következőket:

A kód első része rendben van, a kapcsolat sikeresen megalapozott, de az SQL kérés nem halad át.

"Hiba: Helyezze be a diákokat (név, vezetéknév, e-mail) értékek (" Thom "," injekciós üveg "," [E-mail védett]") Hiba van az SQL szintaxisában; ellenőrizze a ManureThatcorresPerpes lehetőséget a MySQL szerver verziójához a RightSntax használatához a közelben" (név, vezetéknév, e-mail) értékek ("Thom", "injekciós üveg" [E-mail védett]")" Az 1. sorban "

Szintaxis hiba történt, ami szkript meghibásodást okozott. A hiba itt volt:

$ Sql \u200b\u200b\u003d "Helyezze be a diákokat (név, vezetéknév, e-mail) értékek (" Thom "," injekciós üveg "," [E-mail védett]")";

A szokásos helyett göndör zárójeleket használtunk. Helytelen, és a szkript szintaktikai hibát adott ki.

PDO

A 7. sorban PDO-csatlakozások a hibaüzemmódban: "Minden kivétel megjelenítése". Ha egy másik érték van megadva, és a kérés nem sikerül, akkor nem kapnánk hibaüzenetet.

Ezt a beállítást csak a szkript fejlesztésekor kell használni. Ha aktiválódik, az adatbázis-nevek és táblázatok megjeleníthetők, hogy jobbra kell rejteni biztonsági célokra. Abban az esetben, ha a hagyományos konzolok helyett a hagyományos zárójelek helyett a hibaüzenet így néz ki:

Végzetes hiba: UNCAGHTEXCEPTION "PDOEXCEPTION" üzenet: SQLSTATE: SYNTAX hiba vagy Hozzáférés: 1064 Hiba van az SQL szintaxisában; ellenőrizze a MySQL Server verziójához a jobb oldali használathoz "(Név, LastName, Email) értékek (" Thom "," injekciós üveg ", [E-mail védett]")" Az 1. sorban "

Egyéb lehetséges problémák:

  • Az oszlopok helytelenül vannak feltüntetve (nem létező oszlopok vagy helyesírási hibák a nevükben).
  • Egy típusú érték hozzárendel egy másik típusú oszlopot. Például, ha megpróbálja beilleszteni a 47-es számot a Név oszlopban, hibát kapunk. Ebben az oszlopban egy karakterláncot kell használnia. De ha rámutatunk egy számot idézőjelekben (például "47"), akkor működik, mert ez egy karakterlánc.
  • Az adatok beírása egy olyan táblázatba, amely nem létezik. Valamint egy beismert helyesírási hiba az asztal nevében.

Sikeres adatbevitel után látni fogjuk, hogy az adatbázishoz kerülnek. Az alábbiakban egy példa egy olyan táblázatra, amelyben a hozzáadott adatok.

Következtetés

Ebben a cikkben azt mondtuk, hogyan kell használni a PHP-t a MySQLI és a PDO használatával a MySQL adatbázisba. És a gyakori hibák kiküszöbölésére is. Ezek a tudás hasznos lesz a tanulás programozásában és a saját weboldal fejlesztésekor.

Ez a kiadvány a cikk fordítása " A PHP használata az adatok beillesztéséhez a MySQL adatbázisba"Elkészített egy barátságos projektcsapat