Dodavanje slike u MySQL bazu podataka putem PHP-a. Kako pisati u MySQL bazu podataka, kopirati PHP kod Dodavanje u mysql putem php-a

Zadnje ažuriranje: 1.11.2015

Za njihovo zamjensko dodavanje, koristi se "INSERT" viraz:

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

Viraz "INSERT" ubacuje jedan red gore do tablice. Nakon ključne riječi INTO navodi se naziv tablice, a nakon ključne riječi VALUES vrijednosti za sve stupce su navedene u lukovima. Budući da u tablici imamo tri stupca, možemo prikazati tri vrijednosti.

Dakle, kao iu prošlim temama, prilikom presavijanja tablica, naznačili su sljedeći broj stupaca: id, ime, tvrtka, tada se u ovom slučaju prosljeđuje NULL vrijednost za id stupac, "Samsung Galaxy III" za naziv, i "Samsumg" za tvrtku.

Ako je stupac id postavljen na AUTO_INCREMENT, tada ne trebamo specificirati novu brojčanu vrijednost za novu, a možemo proslijediti NULL vrijednost, a MySQL može dati sljedeću dostupnu vrijednost.

Pogledajmo sada dodavanje podataka iz stražnjice. Kreirajmo datoteku create.php sa okupljanjem:

Podaci dodani"; ) // zatvaranje veze mysqli_close($link); ) ?>

Dodajte novi model

Unesite model:

Virobnik:

Ovdje je kod međusobno povezan s bazom podataka asocijacija s funkcionalnošću obrazaca: za dodatne obrasce unose se podaci za dodavanje u bazu podataka.

MySQL sigurnost

Ovdje smo izokrenuli funkciju mysqli_real_escape_string(). Služit će kao zaslon za znakove u nizu, koji onda osvaja na početku SQL-a. Kako će parametri prihvatiti objekt veze u tom retku, koji treba pregledati.

Na ovaj način prestat ćemo izbjegavati znakove u stvari dva: prvo za sql-virus iza pomoćne funkcije mysqli_real_escape_string(), a zatim za html iza pomoćne funkcije htmlentities(). To nam omogućuje obranu od dvije vrste napada: XSS napada i SQL injekcije.

Upoznat ćete ga sa svojim pomagačem, kako započeti kerubinsku bazu podataka iz svoje PHP skripta. Vidiš dodavanje zapisa u MySQL tablicu, vikorist php kod. Prije svega, pogledajte naše druge pomagače, kako otvoriti glavne korake rada s PHP-om i bazama podataka - povezivanje s PHP-a na MySQL bazu podataka (engleski).

Prije klipa, preokreni prisutnost ofenzive:

  • Pristup upravljačkoj ploči vašeg hostinga

Krok 1 - Kreiranje tablice

Nasampered, moramo izraditi tablicu za vaše podatke. Procedura je još jednostavnija, yaku možete raditi phpMyAdmin s vašeg panela pod hostingom. Već smo opisali proces kreiranja MySQL baza podataka s prethodnim pomoćnikom, pa ćemo ovaj trenutak ovdje preskočiti.

Nakon što se prijavite na phpMyAdmin stranu, vidjet ćete sličnu sliku:

Napravimo tablicu pod imenom Studenti za našu bazu podataka u266072517_name. Pomoću gumba možete stvoriti novu tablicu Napravite tablicu. Ako dodate novu stranu, možete unijeti sve potrebne podatke za svoju tablicu:

Najjednostavniji način za stvaranje tablica, za uklanjanje više informacija o strukturi tablica/baze podataka, možete podesiti za polje kože, vratite se na službenu dokumentaciju phpMyAdmin (engleski).

Ovdje ćemo uvesti nekoliko jednostavnih objašnjenja polja, tako da ćemo koristiti:

  • Ime- naziv polja. Bit će prikazano na vrhu vaše tablice.
  • tip– ovdje možete postaviti vrstu polja. Na primjer, biramo varchar, za to je ovdje potrebno uvesti niz imena (za one koji imaju ê slova, a ne brojeve).
  • Duljina/vrijednosti- dobit za imenovanje maksimalnog trajanja zapisa u ovom polju.
  • Indeks– odabrali smo "Primarni" indeks za naše polje "ID". Kod preklapanja stolova preporučuje se jedno ID polje za majku. Osvojio vikoristovuêtsya za índexatsíí̈ zapisíí̈ u tablicama, ako vzaimosv'yazku isprepletene tablice. Ovdje također možete vidjeti "A_I"što to znači Automatsko povećanje. Ova postavka će automatski povećati indeks (1,2,3,4…).

Pritisnite Uštedjeti i vaš stol će biti kreiran.

Krok 2 - Kreiranje PHP koda i dodavanje zapisa u MySQL tablicu

Opcija 1 - MySQLi metoda

Nasampered, potrebno je instalirati bazu podataka s bazom podataka, sgídno s našim naprijed pomoćnikom. Ako možemo nastaviti sa SQL-a sa zahtjevom za dodavanje zapisa u MySQL tablicu - UMETNUTI. Ovdje je najnoviji primjer koda s metodom povezivanja i metodom umetanja:

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

U ovom rangu, prvi dio koda (redovi 3 – 18 ) može se vidjeti do dijela instalacije poveznice na bazu podataka. Nećemo ponovno prolaziti kroz ovaj dio, ako želite znati što znači red kože, okrenite se na naše prednje ker_vnitstva, poput povezivanja s bazom Danaca (engleski).

Započnimo 19 :

$sql = "INSERT INTO Students (ime, prezime, email) VRIJEDNOSTI ("Thom", "Vial", " [e-mail zaštićen]")";

Najvažniji red koda, nema potrebe za pljačkom brkova, što opisujemo u našoj pomoći - dodavanje zapisa u MySQL tablicu u bazu podataka. UMETNUTI U– tse viraz, koji dodaje zapis u naznačenu MySQL tablicu baze podataka. U našoj aplikaciji dodajemo podatke u tablicu Studenti.

Jureći daleko, uz ruke, označavamo polja tablica čija ćemo značenja dodati: (ime, prezime, email). Podaci će se dodati u red pjevanja. Kako pišemo (e-mail, prezime, ime) Vrijednosti će se dodavati drugim redoslijedom.

Zakoračite na vrijednost VRIJEDNOSTI. Ovdje postavljamo naše vrijednosti ispred navedenog polja. U ovom rangu, polje kože je svjesno svog značenja. Na primjer, naša vipadka će na trenutak imati oko: name=Thom, prezime=Bočica, email= [e-mail zaštićen] .

Što je važno reći, koja je moja forma ovdje? upitani SQL, podešavanje PHP koda. SQL zapit vinni buti ukladení u šape. U našem slučaju, sve između šapa i onih koji idu nakon $sql = tse SQL se traži.

Sljedeći dio koda ( 20 – 22 redaka) pokretanje našeg zahtjeva i provođenje ponovne provjere uspješnosti ankete:

If (mysqli_query($conn, $sql)) ( echo "Novi zapis uspješno kreiran"; )

O uspjehu ćete biti obaviješteni, tako da će se lansiranja pravilno hraniti.

I preostali dio ( 22 – 24 redaka) kako bismo pokazali još jedan podsjetnik na nenamjernu viziju našeg upita:

Inače ( echo "Pogreška: " . $sql ."
".mysqli_error($conn); )

Ovaj kod nam pokazuje podsjetnik na pomilovanje, kao da je nešto pošlo po zlu.

Opcija 2 - PHP Data Object Method (P HP Data O objekt)

Kao u prednjem dijelu, potrebno nam je da se povežemo s bazom podataka ispred viconatyja, kao što je to pri stvaranju novog PDO objekta - prednji ker_vnitstvo rozpovidaê o tome, kako bi trebalo biti. Povezivanje s bazom podataka MySQL - tse PDO objekt, odgovorni smo za odabir različitih PDO 'metoda' (izvorne funkcije, poput dijela objekta pjesme) za pripremu i pokretanje zahtjeva. Metode objekata se pozivaju sljedećim redoslijedom:

$the_Object->the_Method();

PDO vam omogućuje da pripremite SQL kod prije uređivanja. SQL zahtjev se izračunava i ispravlja prije početka. Dakle, jednostavan napad SQL injekcijom može se izvesti učitavanjem SQL koda u polje obrasca. Na primjer:

// Korisnik to upisuje u polje korisničkog imena obrasca za prijavu thom"; DROP DATABASE user_table; // Konačni upit postaje ovaj "SELECT * FROM user_table WHERE username = thom"; DROP DATABASE user_table;

Skílki SQL kod je sintaktički točan, točka s kojom se pljačka DROP DATABASE korisnička_tablica novi SQL zahtjev, a vaša tablica zapisa je izbrisana. Virazi, koji se spremaju, ne dopuštaju simbole і ; da dovršite zahtjev za izlaz, tu instrukciju ISPUSTI BAZU PODATAKA nitko ne pobjeđuje.

Zavzhdi Osvojite ono što pripremate ako upravljate ili preuzimate podatke iz baze podataka iz PDO-a.

Za pobjednički jezik koji se priprema potrebno je stvoriti novu promjenu, poput bolje metode pripremiti() objekt baze podataka.

Kod ispravnog izgleda izgleda ovako:

$servername = "mysql.hostinger.com"; $database = "u266072517_name"; $username = "u266072517_user"; $password = "buystuffpwd"; $sql = "mysql:host=$ime poslužitelja;dbname=$baza podataka;"; $dsn_Options = ; // Kreirajte novu vezu s MySQL bazom podataka koristeći PDO, $my_Db_Connection je pokušaj objekta ( $my_Db_Connection = novi PDO($sql, $username, $password, $dsn_Options); echo "Uspješno povezan"; ) catch (PDOException $ error) ( echo "Pogreška povezivanja: " . $error->getMessage(); ) // Postavite parametre za osobu koja će odgovarati vašoj vrijednosti $first_Name = "Thom"; $last_Name = "Bočica"; $email = " [e-mail zaštićen]"; // Ovdje smo stvorili opciju da metoda zaglavlja () objekta baze podataka // SQL SQL, koju odaberete da zaštitite kao parametar, a rezervirana mjesta ê kao cilj: placeholder_name $my_Insert_Statement = $my_Db_Connection-> pripremiti ("INSERT INTO Students (ime, prezime, email) VALUES (:first_name, :last_name, :email)"); // Sada kažemo skripti na koju se varijablu svako rezervirano mjesto zapravo odnosi pomoću metode bindParam() // Prvi parametar je rezervirano mjesto u gornjoj izjavi - Drugi parametar je varijabla koju bi trebao upućivati ​​na $my_Insert_Statement->bindParam(:first_name, $first_Name); $my_Insert_Statement->bindParam(:last_name, $last_name bindParam(:email, $email); // Izvrši upit koristeći podatke koje smo upravo definirali // Metoda execute() vraća TRUE ako je uspješna i FALSE ako nije, što vam omogućuje da ovdje pišete svoje poruke if ( $my_Insert_Statement->execute()) ( echo "Novi zapis uspješno kreiran"; ) el se (echo "Nije moguće kreirati zapis"; ) // Ovim korakom možete oni mijenjaju vrijednosti parametara i izvršavaju se do negdje prije baze podataka $first_Name = "John"; $last_Name = "Smith"; $email = " [e-mail zaštićen]$my_Insert_Statement->izvrši(); // Ponovo izvrši sada kada su se varijable promijenile if ($my_Insert_Statement->execute()) ( echo "Novi zapis uspješno kreiran"; ) else ( echo "Nije moguće stvoriti zapis"; )

U redovima 28, 29 i 30 mi koristimo metodu bindParam() objekt baze podataka. Ê so self method bindValue(), vídríznyaêtsya sprijeda.

  • bindParam() - koja metoda se koristi za prikupljanje podataka, ako metoda izvršiti() dosegnuo. Prvi put kada skripta dođe do metode izvršiti() vin bachit, scho $first_name zatražite "Thom", prikazat će vrijednost te ikone. Ako skripta iznenada dođe do metode izvršiti(), pobijediti se čuditi čemu $first_name sada zatražite "John", pokažite istu vrijednost i ponovno počnite pitati s novim vrijednostima. Važno je razumjeti što radimo da jednom pitamo i pošaljemo različite podatke na različitim mjestima skripte.
  • bindValue() - Ova metoda izračunava podatke, lako je doći do dna reda. Oskílki značenje $first_name Bulo je trenutno postavljeno kao “Thom”, ako smo došli do metode bindValue(), bit će vikoristano metodom vikliku izvršiti() za $my_Insert_Statement.

Uzvratite poštovanje, koje ponovno pobjednički mijenjamo $first_name i iznenada postaviti novu vrijednost. Ako provjerite svoju bazu podataka nakon pokretanja ove skripte, bit će uvreda iz navedenih imena, za razliku od vrijednosti promjene $first_name bit će jedan "John" na primjer scenarij. Imajte na umu da PHP procjenjuje prostor skripte prije nego što je pokrene.

Kako promijeniti svoju skriptu zamjenom bindParam na bindValue, dodat ćete "Thom Vial" dvíchí u MySQL bazu podataka i John Smith će biti zanemaren.

Krok 3

Čim je zatražen, koji smo uspješno pokrenuli u MySQL bazi podataka, želimo vas podsjetiti:

Vizija širenja pomilovanja

MySQLi

U drugom slučaju, zamjena opomene, koja je pokrenuta, bit će prikazana podsjetnik o pomilovanju. Na primjer, dopustimo jedno sintaktičko oprost u našem kodu i uzimamo ovo:

Kao i Bachimo, prvi dio koda je siguran, veza je uspješno instalirana, ali je SQL učitavan sat vremena, jer nije uspio.

"Pogreška: INSERT INTO Students (ime, prezime, email) VALUES ("Thom", "Vial", " [e-mail zaštićen]") Možete provjeriti svoju SQL sintaksu; provjerite u priručniku koji odgovara verziji vašeg MySQL poslužitelja pravu sintaksu za korištenje blizu "(ime, prezime, email) VRIJEDNOSTI ("Thom", "Vial", " [e-mail zaštićen]")" u retku 1"

Dopušteno je sintaktički pomilovati, kao da uzrokuje neuspjeh na kraju našeg scenarija. Pardon bula ovdje:

$sql = "INSERT INTO Students (ime, prezime, email) VRIJEDNOSTI ("Thom", "Vial", " [e-mail zaštićen]")";

Kako bachite, mi vikoristovuêmo figurirani lukovi umjesto okruglih. Ovo nije način za postizanje sintaktičkog oprosta u našem scenariju.

ZOP

U redu 7, PDO veza ima način obrade pardon postavljen na 'prikaži sve iznimke' (prikaži sve iznimke). Ako pospremite scenarij i tražite peh, ne oduzimate nikakav podsjetnik o pomilovanju. Uz više opravdanja, bit će specifičnih problema. Uglavnom, lakše je pobijediti ako proširite skriptu, tako da možete prikazati nazive baza podataka u toj tablici, ako želite saznati može li netko neovlašteno pristupiti vašim podacima. Na vrhu glave, ako su kovrčavi lukovi pobijedili umjesto okruglih, oprost izgleda kao što je prikazano u nastavku:

Nevažeća pogreška: iznimka "PDOException" s porukom "SQLSTATE: Sintaktička pogreška ili kršenje pristupa: 1064 Ne možete kriviti svoju SQL sintaksu; provjerite priručnik koji odgovara verziji vašeg mySQL poslužitelja za pravu sintaksu koja se koristi u blizini "(ime, prezime, email) VRIJEDNOSTI ("Thom", "Vial", " [e-mail zaštićen]")" u retku 1"

Ostali problemi na koje možete naići:

  • Netočno navedena polja (nevažeća polja i pomilovana napisana imena).
  • Nepoznavanje tipa vrijednosti tipa polja. Na primjer, ako želimo dodijeliti vrijednost nekom broju 47 polje Ime, uzimamo oprost, na ono što se prenosi, što će biti u nizu. Ale, ako unesete broj u šape, npr. “47” , neće biti pardona, što će naš broj biti upisan redom u svako polje.
  • Pokušajte unijeti podatke u tablicu, što nije moguće, ali oprostite u napisanom nazivu tablice.

Sva pomilovanja mogu se ispraviti za pomilovanje, ili se pomilovanja mogu revidirati revidiranjem časopisa o pomilovanju (engleski).

Nakon uspješnog popunjavanja podataka, dugujemo ih našoj bazi podataka. Os stražnjice stola, u yaku smo dodali svoje podatke, kao da se čudimo phpMyAdmin.

Visnovok

Na tsomu suučesnik vas vyvchili, kao pobjednik PHP kod za dodavanje zapisa u MySQL tablicu od pobjeda MySQLiі ZOP. Tako su gledali na široke oproštajne te trešnje. Znati kako hakirati PHP kod da ga dodate u MySQL bazu podataka bit će dobra ideja ako naučite kako programirati ili izraditi vlastitu stranicu.

Na ovoj razini možemo unijeti podatke u MySql bazu podataka, podatke unesene u urednom obliku. Znate kako pristupiti MySql bazi podataka iz koda web stranice, kao i kako obraditi i unijeti podatke u bazu podataka.


Prošlu lekciju rekao sam vam kako instalirati Denver na svoje računalo, kako kreirati vlastitu bazu podataka, kopirati za nju, kako napraviti tablicu u bazi podataka, a mi smo to popunili u jednom zapisu.

U ovom trenutku kreiramo html dokument za unos informacija o koristuvači, kao i php datoteku-sakupljač ovih informacija, a to su podaci koji se obrađuju, da se povežemo s MySql bazom podataka i tu ubacimo nove zapise .

Prijelaz sa slív na slív, učinimo to kako treba.

Podatke koristuvacha dodajemo u MySql bazu podataka s web strane

Prvi korak: kreirajte html obrazac za unos podataka

Od samog početka trebamo se pripremiti za rad s php-om, MySql-om, a prije testiranja napisanog koda na lokalnom računalu. Za koga:

1. Pokrenite Denwer na računalu.

2. Pogledajte virtualni disk koji je kreirao Denver (na primjer, mogu koristiti "Z" disk). Unesite sljedeće: home - localhost - www - stvorite novu mapu tamo i dajte joj ime (nazvat ću je "db1").

3. Ako radite u Adobe Dreamweaveru, idite na upravitelja web-mjesta, tamo kliknite na gumb "Novo", kao način odabira puta do dobro kreirane mape, u polju možete dati naziv web mjestu, a zatim kliknite Spremi - Gotovo. Tada će se vaša mapa pojaviti na desnoj ploči programa Adobe Dreamweaver.

1. Sada napravimo odličnu html datoteku (nazovimo je info_form.html i spremimo je za vlastitu izradu db1 mape) i tu napišimo kod obrasca za unos informacija. Naša tablica korisnika u bazi podataka new_db ima niz polja koja se mogu automatski učitati (id polje će se automatski učitati). Vihodyachi zgogo, možete kreirati kod uvredljivog izgleda:

Neimenovani dokument










Ovdje je parametar akcije našeg obrasca datoteke s receptima form.php. Vin će biti uzorak datoteke, koju smo stvorili.

Kreirajmo datoteku style.css za stiliziranje našeg obrasca. Víne vzhe podklyucheniya y kodí, tako da je scho sho ostalo samo za stvaranje yogo, stavite u istu mapu, scho i html datoteku i upišite novi uvredljivi kod:

Body(width:400px; margin:0 auto; background:#F8F4B6;) label(display: block; float: left; width: 150px; padding: 0 10px; margin: 18px 0 0; text-align: right;) # submit(float:desno; margin:5px 50px 10px 0;)

Sada obrazac izgleda ovako:

Međutim, ako unesete podatke i pokušate poslati obrazac, dobit ćete oprost, jer datoteka form.php, koja se nalazi u direktoriju skripti, nije dostupna.

Stvorite datoteku-obrobnik - to je naš zadatak.

2. Idemo u sredinu mape db1 napravimo mapu s imenom "skripte". Sve naše skripte spremamo u sprezi s MySql bazom podataka.

Nakon kreiranja mape, kreirajte novu php datoteku i spremite je u mapu skripte pod imenima form.php.

No prije toga, potrebno se pozabaviti file-sakupljačem informacija, potrebno se povezati s našom bazom podataka. Propagirati ću za stvaranje za ovu okremy datoteku i os zašto:

Više od svega, za svoj projekt, morat ćete se povezati s MySql bazom podataka ne samo iz jedne datoteke. U pravilu se različite datoteke za projekt izmjenjuju s bazom podataka.
Još je nepraktičnije propisati isti kod za povezivanje s bazom u takvoj datoteci skina. I pored takvih datoteka, na primjer, bit će 50 i jednog lijepog dana, promijenit ćete lozinku za koristuvach i dogoditi će vam se da nađete svih 50 datoteka i popravite to u skin work.
Bolje je hakirati za spajanje na okrem datoteku, koja će biti povezana s datotekom skin, može biti povezana s MySql bazom podataka. U ovom trenutku potrebno je izvršiti ispravke samo u jednoj datoteci.

Otzhe, napravimo novu php datoteku, nazovimo je yoga connect.php koji se nalazi u mapi za skripte. Na novom ćemo napisati kod za ulazak u našu MySql bazu, kao i kod koji će vas podsjetiti na pomilovanja za različite viniknennya. Poštujte da ćete kao parametre morati registrirati svoje ime dopisnika, svoju lozinku i svoje ime baze podataka. Yak domaćin je kriv za buti místseviy domaćin.

Pardon povezan s bazom počasti! ".mysql_error() ."

"); mysql_select_db("new_db")//parametar kod okova ("Im'basi, zašto to želiš") ili umri("

Pardon za izbor bazi danih! ". mysql_error() ."

"); ?>

Sada prijeđimo na form.php datoteku i prijeđimo na novu datoteku connect.php za dodatni uvredljivi kod:

Čim pokušate poslati obrazac, tada ćete raditi nakon ispravke prazne web stranice. U redu je, jer smo se tek vratili u bazu i zasad se ništa ne vidi.

Također, obaviješteni ste o pomilovanju, poništite ispravnost svih parametara (naziv hosta, lozinka, naziv hosta: localhos, naziv baze podataka), a također budite sigurni da su vaši Denver uključeni.

3. Daleko smo otišli s MySql bazom podataka, a sada nam je potrebna prihvatiti podatke unesene u obrazac podataka u našoj datoteci uzorka. Možemo nam pomoći s atributima "name", koji su isti za html dokumente.

Za obradu podataka ubrzat ćemo posebnu php promjenu koja će nam pružiti sve informacije iz web obrasca. Ova promjena se zove "$_REQUEST".

Dodajte sljedeći kod u form.php datoteku nakon povezivanja s datotekom connect.php:

$first_name = $_REQUEST["first_name"]; $last_name = $_REQUEST["prezime"]; $email = $_REQUEST["e-pošta"]; $facebook = $_REQUEST["facebook"];

4. Uzeli smo podatke iz datoteke i unijeli ih u izmjene. Sad je potrebno Prenesite podatke u našu MySql tablicu baze podataka. Za što je u nastavku potrebno napisati sljedeći kod:

$insert_sql = "UMETNI U korisnike (ime, prezime, email, facebook)" . "VALUES("($first_name)", "($last_name)", "($email)", "($facebook)");"; mysql_query($insert_sql);

Ovdje ćemo vas pitati natrag, rekavši da moramo umetnuti dodatne promjene u polje tablice “korisnici”. Donosimo zahtjev iz promjene $insert_sql. A onda za pomoć posebne funkcije mysql_query možemo je zatražiti.

Ako odmah ispunite taj obrazac, a zatim pogledate tablicu “korisnici” u vašoj bazi podataka, tada ćete pokrenuti novi unos koji će se tamo pojaviti nakon previda.

5. Ubacili smo novi zapis s web stranice u MySql tablicu baze podataka. Sada se želim malo dotaknuti formata u koji su umetnuti naši podaci.

Prije svega, potrebno je govoriti o toj situaciji, ako osoba, ispunjavajući obrazac, može staviti neprimjerenu prazninu na klip unošenja podataka. Trebate podrezati.

Na drugačiji način, imamo polje za Facebook. Ukoliko želimo unijeti tražene podatke, potrebno je osigurati da su podaci u ovom polju prikupljeni u ispravnom formatu (odnosno “http://www.facebook.com/identifier na facebook-u”) . Ale koristuvach ne zavzhda unijeti qi podatke tako kako nam je potrebno. VIN se može unijeti: "www.facebook.com/facebook id", "facebook.com/facebook id" ili samo "/facebook id".

Te su situacije jedinstvene. Za koga podkoriguëmo naš kod. Možemo smanjiti praznine za dodatne funkcije dotjerati, a provjerite ispravnost unesenog URL-a za facebook bit će funkcija preg_match. U ovom rangu, sav kod u datoteci form.php izgledat će kao sljedeći rang:

Neimenovani dokument Novi zapis umetnut u bazu!

"; ?>

O funkciji preg_match:
Cijela funkcija je šala s redovitim fluktuacijama.

Prvi parametar za lukove je obična virase, drugi je red, prema potrebi.

Funkcija rotira samo prvi zbíg: 0 - ako nema zbígív, 1 - ako je zbíg ê.

Pokušajte sada ispravno popuniti obrazac, popuniti pogrešan prostor na pločici za popunjavanje bilo kojeg polja i unijeti adresu za facebook bez http:// ili koristeći samo facebook identifikator. Zatražite zahtjev, a zatim idite u bazu podataka i reći ćete da, bez obzira na krivo ispravno popunjavanje, podaci mogu biti upravo onaj izgled koji nam je potreban.

O kome ću završiti lekciju. Možete promijeniti sve datoteke ove lekcije u vlastitim zapisima (samo nemojte zaboraviti ispraviti parametre za vaše connect.php datoteke).

A u nadolazećim godinama učimo hvatati informacije iz MySql baze podataka, odabrati potrebu za snimanjem i prikazati ih na ekranu. Kako ne biste propustili nadolazeću lekciju, pretplatite se na ažuriranje bloga za dodatne obrasce za pretplatu, kao što možete vidjeti u nastavku.

Ostavite svoje komentare i podijelite s prijateljima za dodatne gumbe društvenih medija.

Uspjeh i do zore u nadolazećem času!

Želim vam reći o ovom postu, Kako predati Bazi Danikh, unesite podatke u obrazac. I tako kreiramo jednostavan obrazac, gdje ćemo imati dva polja:

Tvoje ime:
Tvoj email:


Ovaj obrazac se može koristiti za registraciju novog dopisnika, za slanje vijesti, za prikupljanje statistike, to je uvijek dobrodošlo... Upisivanjem ovog obrasca popunite svoje podatke: pošaljite tu poruku, kliknite na gumb i pošaljite podatke da krenete na php skriptu:

$name = $_POST["name"]; $email = $_POST["e-pošta"]; $result = mysqli_query("INSERT INTO user (ime, email) VALUES ("$name", "$email")"); if ($rezult) ( echo "Uspješne uštede!"; ) else ( echo "Pomilovan sam, budi ljubazan, pokušaj ponovo."; )


Što rade skripte? Idemo to shvatiti!
Unesite obrazac za podatke, koristite metodu POST da idite na php skriptu (koja je više pravopisna), a uz pomoć globalnog polja $_POST, podaci se formiraju u promjeni $name i $email:

$name = $_POST["name"]; $email = $_POST["e-pošta"];


Nakon toga, kako je promjena spremna za donošenje u bazu, dodajemo zahtjev. I prije svega, ispod Vaše skripte su dospjele, ali su već povezane s bazom podataka, kako se spojiti na bazu, napisao sam u ovoj temi: . Zamolio se da izgleda ovako:

$result = mysqli_query("INSERT INTO user (ime, email) VALUES ("$name", "$email")");


Za ovaj kod je naznačeno da će se ispred srednjeg imena i emaila, kao u korisničkoj tablici, dodati sljedeće promjene: $name i $email .
Kako je sve prošlo dobro, podsjećamo:

Podaci su uspješno spremljeni!


Dapače, zbog problema i neupisanih podataka, moramo vas podsjetiti na pomilovanje:

Bilo je oprosta, budi ljubazan, ponovi test.


Od mene sve!

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

Možete dodati više polja za uvođenje informacija, na primjer, moramo dodati polje za uvođenje koristuvach mjesta. Već imamo spremnu skriptu (više pisanja), sada samo dodajte polje Vaše mjesto, promijenite naziv u $city . Í tako u obliku unosa podataka, nakon:

Tvoj email:


dodati:

Tvoja lokacija:


U php skripti, nakon:

$email = $_POST["e-pošta"];


dodati:

$grad = $_POST["grad"];


Pa, i naravno, na zahtjev dodajte isto, os je ovakva:

$result = mysqli_query("INSERT INTO user (ime, email, city) VALUES ("$name", "$email", "$city")");


Os onoga što se može vidjeti u rezultatu:
Prijamni obrazac:

Tvoje ime:
Tvoj email:
Tvoja lokacija:


Skripta:

$name = $_POST["name"]; $email = $_POST["e-pošta"]; $grad = $_POST["grad"]; $result = mysqli_query("INSERT INTO user (ime, email, city) VALUES ("$name", "$email", "$city")"); if ($result == true) ( ​​echo "Uspješno spremljeno!"; ) else ( echo "Bilo je oprost, budi ljubazan, pokušaj ponovo."; )


Kao bachite ništa sklopivo! Ako je potrebno, možete dodati još polja, još, više...

Komentari premješteni s bloga

SERGII
14.09.2016 u 01:25
Dobar dan!
Da kažem ista hrana: kako je najlakši način organizirati uštede podataka i popraviti programe bez korištenja baze podataka? Ne bi bilo poželjno biti priključen na MySQL ili Access.

ADMIN
14.09.2016 u 22:14
Dobar dan!

Svojstva.Postavke
App.Config
XML datoteka
serijalizacija
Pokušajte odabrati jednu s popisa.

MIKOLA
16.09.2016 u 02:28
Pozdrav, kako vidjeti redak dataGridVIew iz dataGridVIew i phpMyAdmin.

PhpMyAdmin? Cijela ljuska za robota s bazom podataka, možete li objasniti?

MIKOLA
18.09.2016 u 02:24
Potrebno je vidjeti red iz DataGridViewa i iz baze podataka.

ADMIN
19.09.2016 u 07:00 sati
Kako vidjeti red u Mysql bazi podataka - dodavanjem članka.

MIKOLA
20.09.2016 u 09:20 sati
Velika dyakuyu.

DIMA
20.09.2016 u 10:24
Pozdrav, je li moguće implementirati ovu metodu ne kroz DataGridView, već kroz ComboBox? Yakscho tako, onda jak? Hvala vam.

ADMIN
22.09.2016 u 03:21
Vitannia. zadnjica:

GENADIJ
22.09.2016 u 18:25
zašto bih trebao dodati sljedeći tekst u bazu podataka System.Windows.Forms.TextBox, Text:

Osi članka tse (ge) do kraja tse ispisuje se gen hoch u prilagođenom tekstu tablice indikacija. riječ gena je kriv Bulo će biti ponižen daleko

ADMIN
24.09.2016 u 04:17
Shvidshe za sve pogrešne pravopise SQL-a pita, na primjer:

Za textBox1 unesite naziv: Gene.

Sql upit: "Umetanje vrijednosti imena tablice (textBox1, ..)"; Rezultat: System.Windows.Forms.TextBox

I trebate proslijediti: "Insert into table name values(textBox1.Text, ..)";
Rezultat: Gena

GENADIJ
24.09.2016 u 18:41
To je tako van i ê. Hvala vam

SERGII
25.09.2016 oko 11:51
Dobar dan. A kako implementirati dodavanje u bazu podataka kroz textBox?

ADMIN
26.09.2016 u 20:53
U principu sve isto. Na primjer, uzmite preostalu zadnjicu, potrebno je za novu:

//izrada parametara i njihovo dodavanje u kolekciju cmd.Parameters.AddWithValue("@Name", textBox1.Text); cmd.Parameters.AddWithValue("@Prezime", textBox2.Text);

sada parametri: Ime i prezime prihvaćaju vrijednosti unesene u tekstualni okvir i prosljeđuju ih bazi podataka

LINARU
27.09.2016 u 17:45
Pozdrav, kako vidite red dataGridVIew i phpMyAdmin?

ADMIN
29.09.2016 u 02:06
Ne znam kako se može vidjeti redak phpMyAdmin. A u dataGridViewu, na primjer, možete raditi uz pomoć pododjeljka SelectionChanged.

PSH
30.09.2016 u 03:48
2Linara:
Ako toliko želite uređivati ​​retke, upotrijebite alat a la HediSQL, ugađajte i mijenjajte retke.

2admin
Dobar dan! Hvala na materijalima - sve je cool raspoređeno)
Obroci: uz ovaj zahtjev dodajem podatke (probno vino):

String sql = "INSERT INTO users (`FIO`, `Tour`, `Count`, `Cost`, `Date`, `Passport`, `Rođen`) VRIJEDNOSTI ("Kolyan", "Moscow", "1+1" ", 1100, "2011-11-11", "1111 1111", "11/9/1900");";

Podaci su upisani sve ok, ali u bazi (mysql) se ispisuje naziv ćirilice "????".

Visual studio kaže da je System.String Unicode sekvenca.

Dakle, nakon što sam pokušao:

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";

Ale ne pomaže.
Tko može biti s desne strane? Različito kodiranje VS i DB? Abo što?
Možete li poslati nešto za čitanje/promjenu.
Hvala vam

ADMIN
01.10.2016 u 09:49
Vitannia.

Baza podataka (i tablice) ima izraz utf_general_ci

Pa je li raspored híba ê? Možda utf8_general_ci?

Kreirajte Mysql bazu podataka odabirom utf8_general_ci, tako da nema problema s ćirilicom, jer je očito da klijent ne dolazi na server.

COLLATION se bira za uparivanje, ali je na isti način važno kodiranje (charset). Zato je potrebno ponovno razmisliti da je ispravno objavljeno na serveru, na primjer u utf8, a ne latin1.

Kada je spojen putem .net-a, konektor (za zaključavanje) je postavljen na latin1, inače je potrebno eksplicitno navesti utf8 kodiranje u retku veze:

MySqlConnection mycon; mycon = nova MySqlConnection("poslužitelj=127.0.0.1;uid=vasya;pwd=123;baza podataka=test;Charset=utf8;"); // MySqlConnectionStringBuilder: mysqlCSB.CharacterSet = "utf8";

PSH
01.10.2016 u 11:34
Povlačite se opisujući sebe, utf8_general_ci!
Toliko je pomoglo; Skup znakova=utf8;
Hvala veličanstveno!

SERGII
02.10.2016 oko 11:02 sati
Dyakuyu za radnu zadnjicu, potrebna. Hrana
Napravio sam tekstualno polje na način na koji želim unijeti IP adresu baze podataka, ali ne znam kako ovdje poslati os podataka

String conStr = " [e-mail zaštićen];user=test;" +
"baza podataka=test; lozinka=test;";
Predložite kako u ovu strukturu umetnuti podatke iz tekstualnih polja u prozorski obrazac.

ADMIN
03.10.2016 oko 11:50 sati
"[e-mail zaštićen];korisnik=...
Umjesto toga, bolje je zamijeniti takav niz pobjedničkih moći, poput ovog članka, ali metodu String.Format ()

OLGA2203
15.05.2017 u 20:14

String Connect = “Poslužitelj=127.0.0.1;Port=3306;Baza podataka=baza;Izvor podataka=localhost;korisnik=root;”; MySqlConnection con = Nova MySqlConnection(Connect); con.Open(); //Instaliranje podataka baze podataka. MySqlCommand cmd = Nova MySqlCommand(); cmd.CommandText = @"INSERT INTO (ID, Kategorija, Naziv, Zaštitni znak, Cijena, Fotografija, Veličina, Boja, Materijal, Broj) VRIJEDNOSTI (@pr, @Category, @Name, @TradeMark, @Price, @Photo, @ Veličina, @Boja, @Materijal, @Broj)”; cmd.Parameters.AddWithValue(“@pr”, brojač); 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.Connection=con; cmd.IzvršiNonQuery(); MessageBox.Show("Dodavanje uspješno", "Dodavanje uspješno", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);

Vidim oproštenje "Kolona 'ID' ne može biti null", čistim dodatak ID-u - ti isti pišu o napadu itd.
Dodajem konstantnu vrijednost krakovima VRIJEDNOSTI, red se dodaje bazi.
Reci mi, budi ljubazan, u čemu je problem? Podatke je potrebno upisati u samu bazu podataka koja se upisuje kroz obrazac, tu vrijednost

Usmjerivač