Ablakok.  Vírusok.  Jegyzetfüzetek.  Internet.  hivatal.  Segédprogramok.  Drivers

Ebben a cikkben elemezzük talán az egyik legfontosabbat SQL lekérdezések. Ez lekérdezések rekordok hozzáadásához és törléséhez egy adatbázistáblában. Mert NAGYON gyakran új rekordok hozzáadása a táblázathoz, és csináld meg automatikus üzemmód, akkor ezt az anyagot tanulmányozni kell.

Kezdeni SQL-lekérdezés új rekord hozzáadásához a táblához:

INSERT INTO felhasználók (bejelentkezés, belépő) értékek ("TestUser", "123456")

Rekord hozzáadásakor az első parancs a " INSERT INTO", majd annak a táblának a neve, amelybe a rekordot beszúrjuk. Ezután zárójelben jönnek a kitölteni kívánt mezők nevei. Majd zárójelben a " szó után értékeket"Elkezdjük listázni az általunk kiválasztott mezők értékeit. A lekérdezés végrehajtása után egy új rekord jelenik meg a táblázatunkban.

Néha szükséges frissítse a táblázat bejegyzését, erre van a következő SQL lekérdezés:

UPDATE felhasználók SET login = "TestUser2", pass="1234560" WHERE login="TestUser"

Ez a lekérdezés összetettebb, mivel a " AHOL", de erről egy kicsit lejjebb. Először jön a parancs" FRISSÍTÉS", majd a tábla neve, majd a " KÉSZLET"Minden mező értékét leírjuk, amelyen változtatni szeretnénk. Egyszerű lenne, de felmerül a kérdés:" Melyik bejegyzést kell frissíteni?". Ehhez van " AHOL". BAN BEN ez az eset frissítjük a rekordot, mező " Belépés"ami számít" TestUser". Felhívjuk figyelmét, hogy ha több ilyen rekord van, akkor minden frissül! Ezt nagyon fontos megérteni, különben a táblázat elvesztését kockáztatja.

Beszéljünk egy kicsit bővebben AHOL". Továbbá egyszerű ellenőrzések az egyenlőséghez egyenlőtlenségek is vannak, valamint logikai műveletek: ÉSÉs VAGY.

UPDATE felhasználók SET login = "TestUser2", pass="1234560" WHERE id< 15 AND login="TestUser"

A SQL lekérdezés frissíteni fogja ezeket a rekordokat id amelyek kevésbé 15 ÉS terület " Belépés"jelentése van" TestUser". Remélem, rájöttél a tervezésre." AHOL"mert ez nagyon fontos. Pontosan" AHOL" akkor használatos, amikor rekordok lekérése táblázatokból, és ez a leggyakrabban használt feladat az adatbázisokkal való munka során.

És végül egyszerű SQL lekérdezés rekordok táblából való törléséhez:

DELETE FROM felhasználók WHERE login="TestUser2"

parancs után" TÖRLÉS FOL" - következik annak a táblának a neve, amelyben a rekordokat törölni szeretné. Ezután a "WHERE" konstrukciót írjuk le. 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 után kielégíti a feltételt AHOL", tetszőleges számú eltávolítható belőlük.

A megjegyzések átkerültek a blogból

SZERGEY
2016. 09. 14. 01:25-kor
Jó napot!
Érdekel a kérdés: hogyan lehet a legegyszerűbben megszervezni az adatok és a programbeállítások tárolását adatbázis használata nélkül? Ne akarj a MySQL-hez vagy az Accesshez kötődni.

ADMIN
2016. 09. 14. 22:14-kor
Helló!

Tulajdonságok. Beállítások
App.Config
XML fájl
sorozatosítás
Próbáljon ki egyet ezek közül a listából.

NIKOLAJ
2016. 09. 16. 02:28-kor
Hello, hogyan tudom törölni a kiemelt sort a dataGridVIew-ben a dataGridVIew és a phpMyAdmin programból.

PhpMyAdmin? Ez csak egy shell az adatbázissal való munkához, elmagyaráznád?

NIKOLAJ
2016.09.18., 02:24
szükséges, hogy a kiválasztott sort töröljük a DataGridView-ból és az adatbázisból.

ADMIN
2016. 09. 19. 07:00 órakor
Hogyan lehet törölni egy sort az adatbázisban mysql adatok hozzáadott egy cikket.

NIKOLAJ
2016.09.20., 09:20
Nagyon köszönöm.

DIMA
2016.09.20., 10:24
Szia, tudsz ez a módszer nem DataGridView-n, hanem ComboBoxon keresztül valósítani? Ha igen, hogyan? Köszönöm.

ADMIN
2016.09.22., 03:21
Helló. Példa:

GENNADY
2016. 09. 22. 18:25-kor
miért kell ilyen szöveget hozzáadnom az adatbázishoz System.Windows.Forms.TextBox, Szöveg: ge

Amúgy ezt (ge) a végére a gén írja, pedig a szöveg a táblázatbeállításokban meg van adva.A gén szavának tovább kellett volna illeszkednie, megjelenítem ezt a táblázatot a programomban és kiderül hogy ezt a sok felesleges szöveget megjeleníti számomra

ADMIN
2016. 09. 24. 04:17-kor
Valószínűleg az SQL lekérdezés helytelenül van megírva, például:

A textBox1-be írjuk be a nevet: Gene.

Sql lekérdezés: "Beszúrás a táblanévbe értékek(textBox1, ..)"; Eredmény: System.Windows.Forms.TextBox

És át kell adni: "Insert into table name values(textBox1.Text, ..)";
Eredmény: Gena

GENNADY
2016. 09. 24. 18:41-kor
Ez így van. Köszönöm

SZERGEY
2016.09.25., 11:51
Helló. És hogyan kell megvalósítani az adatbázishoz való hozzáadást a textBoxon keresztül?

ADMIN
2016.09.26., 20:53
Elvileg minden ugyanaz. Vegyük például a legújabb példát, amelyre szüksége van:

//paraméterek létrehozása és hozzáadása a gyűjteményhez cmd.Parameters.AddWithValue("@Name", textBox1.Text); cmd.Parameters.AddWithValue("@LastName", textBox2.Text);

most a Név és Vezetéknév paraméterek megkapják a szövegmezőkbe beírt értékeket, és átadják az adatbázisnak

LINARA
2016. 09. 27. 17:45-kor
Helló, hogy van a kiemelt sor a dataGridVIew és a phpMyAdmin programban?

ADMIN
2016. 09. 29. 02:06 órakor
Nem tudom, hogy lehet sort kijelölni a phpMyAdminban. A dataGridView-ban pedig ezt például a SelectionChanged esemény segítségével lehet megtenni.

PSH
2016. 09. 30. 03:48-kor
2Linara:
Ha valóban sorokat szeretne szerkeszteni, vegyen egy eszközt a HediSQL-hez, módosítsa és módosítsa a sorokat.

2 admin
Jó nap! Köszönöm az anyagokat - minden nagyon hűvösen le van írva)
Kérdés: Adatokat adok hozzá a következő kéréssel (ez egy teszt):

String sql = "INSERT INTO Users ("FIO", "Utazás", "Szám", "Költség", "Dátum", "Útlevél", "Születés") ÉRTÉKEK ("Kolyan", "Moszkva", "1+1" ", 1100, "2011-11-11", "1111 1111", "11/9/1900");";

Az adatok rendben vannak megadva, de az adatbázisban (mysql) a cirill helyett „????”-nak bizonyulnak.

A Visual Studio szerint a System.String egy unicode sorozat.

Kipróbált még:

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

De nem segít..
Mi lehet a baj? Különböző VS és DB kódolások? Vagy mi?
El tudnám küldeni, hogy mit kell olvasni/változtatni.
Köszönöm

ADMIN
2016.10.01., 09:49
Helló.

A DB-ben (és a táblázatban) az utf_general_ci leválogatás

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

Általában az utf8_general_ci összehasonlítással hoznak létre Mysql adatbázist, így nincs probléma a cirill ábécével, kivéve persze, ha a szerver nem kap hibákat a klienstől.

Összehasonlításra a COLLATION-t használjuk, de ebben az esetben a kódolás (karakterkészlet) fontos. Ezért először meg kell győződnie arról, hogy megfelelően van beállítva a szerveren, például az utf8-ban, és nem a latin1-ben.

A .net csatlakozón keresztül történő csatlakozáskor (alapértelmezés szerint) a latin1 használatos, ezért néha kifejezetten meg kell adnia az utf8 kódolást a kapcsolati karakterláncban:

MySqlConnection mycon; mycon = new MySqlConnection("szerver=127.0.0.1;uid=vasya;pwd=123;adatbázis=teszt;Charset=utf8;"); //MySqlConnectionStringBuilder: mysqlCSB.CharacterSet = "utf8";

PSH
2016.10.01. 11:34
Igazad van, leírtad magad, utf8_general_ci!
Igen, segített, ;Charset=utf8;
Nagyon szépen köszönjük!

SERGIUS
2016.10.02., 11:02
Köszönöm a működő példát. Kérdés
Létrehoztam egy szövegmezőt, amibe szeretném megadni az adatbázis IP-címét, de nem tudom, hogyan kell ezeket az adatokat itt helyettesíteni

String conStr = " [e-mail védett];user=test;" +
"adatbázis=teszt;jelszó=teszt;";
Kérem, mondja meg, hogyan lehet szövegmezőkből adatokat beilleszteni a Windows űrlapba ebbe a tervbe….

ADMIN
2016.10.03. 11:50
"[e-mail védett];user=...
Általában jobb tulajdonságokat használni egy ilyen karakterlánc helyett, mint ebben a cikkben, vagy a String.Format() metódust

OLGA2203
2017.05.15., 20:14

String Connect = “Szerver=127.0.0.1;Port=3306;Adatbázis=bázis;Adatforrás=localhost;felhasználó=root;”; MySqlConnection con = new MySqlConnection(Connect); con.Open(); //Kapcsolat létrehozása az adatbázissal. MySqlCommand cmd = new MySqlCommand(); cmd.CommandText = @”INSERT INTO tovar(azonosító,kategória,név,védjegy,ár,fotó,méret,szín,anyag,szám) ÉRTÉKEK (@pr, @Kategória, @Név, @védjegy, @ár, @fotó, @Méret, @Szín, @Anyag, @Count)”; cmd.Parameters.AddWithValue("@pr",számláló); cmd.Parameters.AddWithValue(“@Kategória”, 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.Kapcsolat = con; cmd.ExecuteNonQuery(); MessageBox.Show(“Hozzáadás sikeres”, “Hozzáadás sikeres”, MessageBoxButtons.OK, MessageBoxIcon.Asterisk);

„Az 'ID' oszlop nem lehet nulla” hibaüzenet jelenik meg, eltávolítom az ID oszlop kiegészítését - ugyanezt írják a következő oszlopra stb.
Ha bármilyen konstans értéket megadok zárójelben az ÉRTÉKEK-ben, a sor hozzáadódik az alaphoz.
Mondja meg, kérem, mi a probléma? Pontosan az űrlapon megadott adatokat és értékeket kell beírnom az adatbázisba

Utolsó frissítés: 2015.11.1

Adatok hozzáadásához az "INSERT" kifejezést kell használni:

$query ="INSERT INTO Goods VALUES(NULL, " Samsung Galaxy III","Samsumg")";

Az "INSERT" utasítás egy sort szúr be a táblázatba. Után kulcsszó Az INTO megadja a táblázat nevét, az ÉRTÉKEK után pedig zárójelben az összes oszlop értékkészlete. Mivel a táblázatban három oszlop van, három értéket adunk meg.

Mivel az előző témakörben a táblázat készítésekor a következő oszlopsorrendet adtuk meg: id, név, cég, ebben az esetben az id oszlopnál NULL, a névnél pedig "Samsung" kerül átadásra. Galaxy III", és a cég számára - "Samsumg".

Mivel az id oszlop AUTO_INCREMENT-ként van definiálva, nem kell konkrét numerikus értéket adnunk hozzá, és átadhatunk NULL értéket, és a MySQL a következő elérhető értéket rendeli hozzá az oszlophoz.

Most nézzük meg az adatok hozzáadását egy példa segítségével. Hozzunk létre egy fájlt create.php a következő tartalommal:

Adatok hozzáadva"; ) // kapcsolat bezárása mysqli_close($link); ) ?>

Új modell hozzáadása

Írja be a modellt:

Gyártó:

Itt az adatbázissal való interakció kódja kombinálódik az űrlapok funkcionalitásával: az űrlap segítségével adatokat adunk meg, amelyeket az adatbázishoz kell hozzáadni.

Biztonság és MySQL

Itt a mysqli_real_escape_string() függvényt használtuk. Arra szolgál, hogy elkerülje a karaktereket egy karakterláncban, amelyet aztán felhasznál SQL lekérdezés. Paraméterként egy kapcsolódási objektumot és egy karakterláncot vesz igénybe, amelyet meg kell szüntetni.

Így tulajdonképpen kétszer használjuk a karakteres escape-t: először az sql kifejezéshez a mysqli_real_escape_string() függvény használatával, majd a html-hez a htmlentities() függvény használatával. Ez lehetővé teszi számunkra, hogy egyszerre kétféle támadástól védjük meg magunkat: az XSS-támadásoktól és az SQL-injekcióktól.

A szerzőtől:ó, nem lehet szavakat kidobni egy dalból! De mások törölhetik, frissíthetik vagy beilleszthetik őket. A lényeg az, hogy a szavak bekerüljenek az adatbázisba. Ma elmondjuk, hogyan íródnak az adatok a MySQL-be, és hogyan kell helyesen csinálni, hogy a dal megszólaljon!

Bejegyzések hozzáadása a phpMyAdmin segítségével

A MySQL DBMS adminisztrálására szolgáló phpMyAdmin shell egy „könnyű” funkciót valósít meg új rekordok adatbázistáblákhoz való hozzáadásához. Egyszerűsége miatt ideális zöld "babák" és "lusta" szakemberek számára egyaránt.

Ha új információkat szeretne bevinni a táblázatba, a programot rendszergazdai jogokkal kell megadnia. Ezután válasszon a bal oldali listák közül kívánt alapotés asztal. Ezután a felső menüben lépjen a "Beszúrás" elemre.

Ezt követően a MySQL adatbázisban való rekord létrehozásához töltse ki a következő ablakot az "Érték" mező összes oszlopához, és kattintson az "OK" gombra alul.

A fenti képernyőképen látható, hogy a módosított "Állatok" táblázat két oszlopból (mezőből) áll: azonosító és név. A második szakasz az egyes oszlopok típusát határozza meg. Csak a név mezőben kell értéket megadnunk, mivel az id oszlop az elsődleges kulcs, és a táblázat létrehozásakor automatikus növekedésre volt beállítva. Ez azt jelenti, hogy az id mező értékét a MySQL automatikusan generálja, hozzáadva 1-et az előző egész értékhez.

Ha meg szeretné tudni, hogy a MySQL-ben az adatrekordok melyik mezője az elsődleges kulcs (elsődleges kulcs), a phpMyAdminban lépjen a menübe (a listában a kiválasztott táblával a bal oldalon) a felső menü "Struktúra" lapjára. Itt található a táblázat összes mezőjének leírása, azok típusa és további jellemzők.

Adatok beszúrása SQL lekérdezések segítségével

De a phpMyAdmin csak egy wrapper, és az igazi rendszergazdák Structured Query Language segítségével "beszélgetnek" a MySQL szerverrel. Vagyis tovább „beszélgetnek” vele SQL nyelv. Mivel igazi profivá törekszünk, a vizsgált téma keretein belül kicsit „elmerülünk” az SQL parancsok tanulmányozásában. Itt van egy lekérdezés, amelyet az "SQL" mezőbe beírva ugyanazt az adatbázist hozzuk létre:

TÁBLÁZAT LÉTREHOZÁSA Állat (azonosító KÖZEPES NEM NULL AUTO_INCREMENT, név CHAR(30) NEM NULL, ELSŐDLEGES KULCS (id));

TÁBLÁZAT LÉTREHOZÁSA Állat (ID MEDIUMINT NOT NULL AUTO_INCREMENT ,

név CHAR (30 ) NEM NULL , ELSŐDLEGES KULCS (id ) ) ;

A táblázat létrehozása és az adatok írása után MySQL adatbázis(a "Beszúrás" fülön keresztül) a program értesíti Önt, hogy az állatokhoz egy 1-es azonosító értékű sort vett fel, és kicsit lejjebb a szerkesztő ablakban megjelenik a kérés kódja, amelyet a shell generált nekünk és elküldjük az adatbázis-kiszolgálónak.

Kérési kód:

INSERT INTO `my_db1`.`animal` (`id`, `name`) ÉRTÉKEK (NULL, "Cat");

INSERT INTO `my_db1`. ` állat ` (` azonosító ` , ` név ` ) ÉRTÉKEK (NULL , "Macska" ) ;

Tanulmányozzuk részletesebben. Az SQL az INSERT utasítást használja egy új sor beszúrásához a táblába. Közli a szerverrel, hogy az adatbázistáblában (my_db1 . animal) be kell illesztenie a megadott értékeket az id és név mezőkbe (VALUES (NULL, 'Cat').

Kérjük, vegye figyelembe, hogy az id oszlophoz nem numerikus értéket adunk meg, hanem NULL-t, mivel ennél a mezőnél „engedélyeztük” az automatikus kiegészítést (autoncrement).

Hogyan lehet beszúrni egy bejegyzést PHP segítségével

Minden, amit figyelembe vettünk, csak „előjáték” a fő akcióhoz, amelyben „Őfelsége” lép színpadra. szerver nyelve PHP programozás. Neki köszönhető, hogy a MySQL mint DBMS olyan széles körben elterjedt a weben.
E két internetes technológia közül a legtöbb a világháló. Bármerre néz, mindenhol megtalálja őket: a modern CMS-ben, "saját írt" motorokban és a szerveren.

Nem meglepő, hogy adatokat kell írni MySQL PHP rengeteg beépített funkciót biztosít. De ezek közül a legfontosabbakra fogunk összpontosítani. Itt van a kód, amely egy új "állatot" ad hozzá az állatok táblázatához. Ha keményen próbálkozol, akkor így egy egész menazsériát gyűjthetsz össze :)

$con_str=mysql_connect("localhost", "root", "", "db1"); if(mysql_connect("localhost","root"))( echo "Hello!!!"; ) mysql_select_db("db1",$con_str); $query_str="INSERT INTO `db1`.`állat` (`id`, `név`) ÉRTÉKEK (NULL, "kutya")"; mysql_query($query_str); mysql_close();

$ con_str = mysql_connect ("localhost" , "root" , "" , "db1" ) ;

if (mysql_connect("localhost" , "root" ) ) (

echo "Helló!! ;

mysql_select_db("db1" , $ con_str ) ;

$query_str= "INSERT INTO `db1`. "animal" ("azonosító", "név") ÉRTÉKEK (NULL, "kutya")";

mysql_query($query_str) ;

mysql_close();

Ezt a kódot be kell illeszteni PHP fájlés a szerver oldalon tárolja.

A mysql_connect() függvény segítségével csatlakozunk a MySQL adatbázis-kiszolgálóhoz. A függvény argumentumként a gazdagépet, a DBMS-felhasználónevet, a jelszót és a csatlakozáshoz szükséges adatbázis nevét veszi fel. Üres jelszavunk van, mert a helyi (kliens) gépre telepített szervert használunk.

A leírt példák bemutatása a MySQL adatbázisba való írásra PHP használatával mi Denver "úri készletét" használtuk. Magába foglalja helyi szerver apache, MySQL szerver, phpMyAdmin és még néhány hasznos kódkészítő és tesztelő eszköz.

Ezután a logikai if blokkban ellenőriztük, hogy van-e kapcsolat az adatbázis-kiszolgálóval. Ezt követően a mysql_select_db () függvényben kijelöltük azt a bázist, amelyhez csatlakozni fogunk. A mysql_query() függvény segítségével elindítottuk a $query_str változóra írt SQL lekérdezést. És a végén a létrehozott kapcsolat lezárásra került (mysql_close() függvény). Ha most benézünk menazsériánkba (ételállat), akkor ott új „háziállatot” találunk.

A MySQL-ben való megírásához a PHP "kedvesen" biztosított minden szükséges funkciókészletet. A fő dolog, amibe a kezdők „kiégnek”, amikor SQL-t használnak a programkódban, a lekérdezések helytelen helyesírása, a szintaxis megsértése és a karakterek váltakozása a kilépéshez (idézőjelek).

Annak elkerülése érdekében, hogy extra "szürke" szőrszálak jelenjenek meg a fején, jobb, ha ellenőrizze a kérés helyesírását a phpMyAdmin használatával. Ehhez helyezze el az SQL kódot a programszerkesztőbe, és futtassa le a végrehajtáshoz. Ha valami nem stimmel, az alkalmazás elkezd „esküdni”, piros üzenetet jelenít meg, és jelzi a hiba helyét.

Amint látja, a MySQL segítségével „összegyűjtheti” menazsériáját, és helyesen megváltoztathatja bármely „dal” szavait. A MySQL adatbázisba való íráshoz pedig a PHP tökéletes, ezért azt tanácsoljuk, hogy kössön "szoros" barátságot ezzel a "nagyszerű" programozási nyelvvel!

Egy webhely vagy webalkalmazás minden olyan modulja, ahol meg kell adni és rögzíteni kell bizonyos adatokat (például név, életkor, cím stb.), egy egyszerű mysql függvényt használ INSERT INTO `name_base` (név,érték1,érték2) ÉRTÉKEK ( 'Vasya','1','2');

Minden változó bekerül az adatbázisba az első zárójelben megadott értékek szerint. Fontos figyelembe venni a kezelő szkriptjének, adatbázisának és konfigurációs fájljának kódolását. Célszerű a legáltalánosabb UTF-8 kódolást használni.

Ne feledje, hogy kétféleképpen írhat az adatbázisba.

Első út ha kezdetben nem állítjuk be az adatbázistáblák cellaneveit. Ezután minden cellához fel kell sorolnunk az összes változót, nevezetesen, hogy hány cella van az adatbázistáblában, így sok változót kell zárójelben feltüntetni az ÉRTÉK érték után.

Például:
Az adatbázistábla négy cellából áll. Ez azt jelenti, hogy az ÉRTÉK (..) elem után mind a négy változót zárójelben kell feltüntetni. És még valami: ha a változó nem létezik, tegyük fel, hogy ez egy opcionális paraméter. Csak írunk üres érték idézőjelben "",

"INSERT INTO `name_base` VALUES (NULL, "".$name."`,``,`2`)"; // a harmadik üres értéket idézőjelbe írjuk

Ennek a kérésnek azonban vannak kisebb hátrányai. Ha egy vagy két cellát ad hozzá egy adatbázistáblához, akkor adott kérés hibát ad vissza. Mert ennél a módszernél a lekérdezésben szereplő összes cella felsorolása kötelező.

Második út ha az INSERT INTO `name_base` (...) lekérdezés után listázza ki az összes cellát az adatbázis neve után. Egy példát már fentebb tárgyaltunk. Ha elfelejtette, írjon újra:

"INSERT INTO `name_base`(`name,`value`,`value2`) ÉRTÉKEK (NULL, "".$name."`,``,`2`)";

Itt felsoroltuk az összes cellát (név,érték1,érték2). És ha további két cellát ad hozzá az adatbázistáblához, akkor a lekérdezés szintaxisát nem kell módosítani. De hacsak nem kell egyszerre hozzáadnunk azokat a nagyon további változókat, amelyekre szükségünk van azokhoz a nagyon újonnan létrehozott cellákhoz.

Egy ilyen hiba nagyon gyakran összeomlik, a webhelyen végrehajtott apró változtatások után. Tegyük fel, hogy a rendszergazda hozzáadott egy további cellát az adatbázishoz, mondjuk állapotot. De a szkriptkezelőnek nem volt ideje megváltoztatni a modult, vagy egyszerűen elfelejtette. Néhány webhely azonban nagyon összetett szerkezettel rendelkezik, és sok időt és erőfeszítést igényelhet a hiba megtalálása. Ezért kívánatos a második módszer alkalmazása az adatbázisba való íráshoz. Bár ezt a fajta hibát gyakrabban követik el a kezdő webprogramozók.

php írása mysql adatbázisba. Gyakorlati példák

Tehát most eljutottunk a dolog lényegéhez, amikor adatbázislekérdezésekkel dolgozunk. Mindent gyakorlati példák alapján fogunk megtenni. Hozzon létre egy egyszerű szkriptet a webhely látogatói által hagyott megjegyzések rögzítéséhez.

Először is hozzunk létre egy táblázatüzenetet az adatbázisban négy cellával. Az első cellába írjuk a megjegyzés azonosítóját. A cellában lévő karakterek száma legfeljebb tíz karakter lehet az automatikus növelés paraméterrel. Ez az automatikus beállítás minden alkalommal megváltozik, amikor megjegyzést ad hozzá a +1-hez.

A következő cella neve a felhasználónév. Karakterek száma - legfeljebb kétszáz - háromszáz tetszőleges karakter, char paraméter. Ezután a megjegyzés cella - ebbe a cellába írjuk be magát a megjegyzés szövegét. Ha nagy kommentszövegeket szeretne rögzíteni, akkor beállíthatja a szöveg paramétert - ekkor egyszerűen beírhat hatalmas szövegeket, több mint ötszázezer karaktert, vagy beállíthatja a tinytext paramétert, akkor kicsit kevesebb karakter fér bele, de működik kicsit gyorsabban.

De a mi esetünkben észben tartjuk, hogy a látogatók nem fognak hatalmas szövegeket írni. Ezért korlátozzuk magunkat, és kétezer karaktert rögzítünk a varchar paraméterrel, hogy karakterlánc-értékeket írjunk.

Az utolsó cellába a megjegyzés szövegbevitelének dátumát írjuk. Számszerű formátumban írunk másodpercekben, az aktuális dátum és idő függvény time(); Az egyszerűség kedvéért a függvényt a $time=time(); És hozzon létre egy cellát az adatbázisban. Nevezzük el ugyanazt az időt az int paraméterrel (numerikus értékekhez). Írjuk fel a karakterek számát – a tizenegy jobb (kis margóval a jövőre nézve :-).

Az adatbázis kiíratása a következő:

`msg` tábla szerkezete -- CREATE TABLE IF NOT EXISTS `msg` (`id` int(10) NOT NULL AUTO_INCREMENT, `name` char(250) NOT NULL, `comment` varchar(2000) NOT NULL, `time int(11) NEM NULL, ELSŐDLEGES KULCS (`id`)) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

Minden, egy táblázat a megjegyzésekhez készült. Most írunk egy űrlapot egy megjegyzés írásához, és magát a kezelő szkriptet. A megjegyzés űrlap HTML-kódja a következő.

Ha hibát észlel, jelöljön ki egy szövegrészt, és nyomja meg a Ctrl + Enter billentyűket
OSSZA MEG: