Sett inn data i MySQL med PHP fra et skjema

I den følgende artikkelen gir vi deg muligheten til å lære hvordan sett inn data i MySQL med PHP fra et skjema Ikke gå glipp av denne muligheten til å lære mer om MySQL!

sett inn-data-i-mysql-med-php-fra-et-skjema-1

Sett inn data i MySQL med php fra et skjema

Selv om dette er informasjon som sikkert flere av oss allerede burde vite, mener vi at det er nødvendig å gi en forklaring på disse to konseptene som vi må gjøre for å gjøre komprimeringen av den følgende artikkelen enklere, der vi vil snakke om hvordan du setter inn data i MYSQL med PHP fra et skjema, begge er relatert, siden ellers ville tittelen på denne artikkelen ikke gi mye mening, men det er viktig å fordype oss i noen tidligere konsepter som hjelper oss å forstå begge deler for å gjøre komprimering av informasjonen her lettere å forstå. fordøye, slik at vi skal gi både en forklaring på hva en MYSQL er og hva en PHP er.

Hva er MySQL?

MySQL har vært et open source relasjonsdatabasehåndteringssystem (forstå dette som en database til en samling strukturerte data) med en klient-server-modell (datamaskinene som har relasjonsdatabaseprogramvare installert åpen kildekode kalles klienter og når de trenger tilgang til data de kobler til denne serveren, derav navnet klient-server). Dette er en programvare eller tjeneste som vi kan bruke til å lage og administrere databaser basert på en relasjonsmodell.

Vi vil også presisere at det med åpen kildekode betyr at vi er fri til å bruke og modifisere den, i tillegg til at alle kan installere programvaren. På samme måte har vi muligheten til å tilpasse den etter våre behov ved å lære å tilpasse den sterke koden.

Hvis du vil ha mer detaljert informasjon om hva MySQL er, inviterer vi deg til å lese følgende artikkel for å avklare eventuelle spørsmål du måtte ha: Datatyper i MYSQL .

Hva er en PHP?

PHP er det vi har som et veldig populært open source -språk, spesielt egnet for webutvikling og som kan være innebygd i HTML (et markeringsspråk som lar oss angi strukturen i dokumentet vårt gjennom tagger). En ting som kan skille PHP fra noe på klientsiden som Javascript er at koden kjøres på serveren, genererer HTML og sender den til klienten.

Det beste PHP kan gi oss når vi bruker det, er hvor enkelt det kan gjøre dem for deg hvis vi er nybegynnere, akkurat som det tilbyr mange avanserte funksjoner for profesjonelle programmerere, og selv om PHP-utvikling er fokusert på programmering på serversiden, er det vi kan bruke den til mange andre ting; Nå som vi forstår disse konseptene, kan vi komme inn på det vi virkelig ønsker å dekke i denne artikkelen.

Men før vi begynner med denne forklaringen, må vi presisere at vi trenger tilgang til vårt hostingpanel for å kunne fortsette å sette inn data i MYSQL med PHP fra et skjema, hvis vi følger disse trinnene, siden vi må vite hvordan vi skal jobbe med PHP og med databasedata. Når vi har sagt dette, kan vi begynne å forklare alternativene vi har for å oppfylle denne funksjonen:

Lag et bord

Det første vi må gjøre før vi fortsetter med dette trinnet for å sette inn data i MYSQL med PHP fra et skjema, er å lage en tabell for dataene våre, når vi allerede har opprettet det, må vi gå ned til der vi ser neste avsnitt. Vi kan se denne prosessen med å lage et bord som en enkel prosess, der vi har muligheten til å utføre med et program som heter "phpMyAdmin", som vi kan finne i vårt kontrollpanel, vi kan gå inn for å følge trinnene vi vil ha hvis vi valgte alternativet for å lage et bord.

Etter at vi har kommet inn på phpMyAdmin -siden vår, vil vi finne en boks som vil si: "Navn", en annen som vil si: "Antall kolonner" og over det vil vises et alternativ som vil si: "Opprett tabell".

Her kan vi sette navnet vi ønsker, for eksempel: en tabell som vi legger navnet til: "Ansatte", for databasen vår som ville være u345589761 _ navn, og så kan vi lage en ny tabell ved å klikke på knappen for "Lag tabell". Etter det vil det vi vil se være en ny side der vi kan legge inn all nødvendig informasjon for tabellen vår, vi finner flere kolonner med navnene: navn, type, lengde / verdi, standard, sortering, attributter , null (den minste av alle) og indeks.

Vi kan si at dette er den enkleste konfigurasjonen vi kan bruke til en tabell, og hvis vi støter på saken der vi har spørsmål om databasen eller tabellen og hvilken type konfigurasjon vi kan bruke for disse kolonnene, kan vi konsultere den offisielle dokumentasjonen for phpMyAdmin. Når det gjelder hver av kolonnene som ville vises for oss, i "Navn" -en, er det vi må gjøre å sette navnet på kolonnen vår, som vil vises øverst i tabellen vår; i en av typen kan vi etablere en type kolonne, for eksempel kan vi velge varchar fordi vi trenger å skrive inn en type navnestreng som har bokstaver og ikke tall.

Der vi ser lengde / verdi, vil vi bruke den til å spesifisere maksimal lengde som inngangen til kolonnen vår kan ha og hvor vi vil se Index, ettersom det anbefales å ha en ID -kolonne, kan vi bruke hovedindeksen for ID -feltet vårt , som vi kan bruke til å liste opp tabelloppføringene vi trenger for tabellforholdsinnstillingene.

phpMyAdmin-1

PHP -kode for å sette inn data i en MySQL -database

Med dette alternativet må vi sette inn data i MYSQL med PHP fra et skjema, vi har to alternativer, og vi kan velge det som passer oss best: PHP MySQLi -metoden og PHP Data Object ELLER PDO -metoden. Med MySQLi -metoden er det vi må gjøre først, ved hjelp av den forrige opplæringen, å opprette en forbindelse med en database; Når vi har gjort dette, kan vi fortsette med MySQL -funksjonen som sier "INSERT", hvor vi finner en komplett eksempelkode med grunnleggende tilkobling av innsettingsmetodene, vi vil finne totalt 24 linjer, og de første linjene ( som vil være fra 3 til 18) har som mål å koble seg til databasen.

Linje nummer 19 er den viktigste i PHP -koden, siden det er den som klarer å sette inn data i MYSQL -databasen; INSTERT INTO er en funksjon som lar oss legge til data i den angitte databasetabellen. I kolonnene vil parenteser vises, og mellom dem finner vi spesifikke tabellkolonner som vi må legge til følgende verdier: navn, etternavn, e -post, og dataene vil bli lagt til i den rekkefølgen vi har spesifisert, hvis vi hadde skrevet alt i en annen rekkefølge, som: e -post, etternavn, navn, verdiene ville bli lagt til i en annen rekkefølge.

Det neste vi har er delen av VALUE -funksjonen, som vi må kunne spesifisere våre verdier for kolonnene vi tidligere hadde spesifisert, på denne måten representerer hver kolonne en bestemt verdi, for eksempel kan vi ha noe slikt: navn = Test etternavn = Testing, e -post=testing@testing.com.

Noe vi synes er viktig å markere er at det vi nettopp har illustrert når vi beskriver eksemplet på kolonnene, er å velge en SQL -funksjon ved hjelp av PHP -kode, og disse spørringene må gjøres i anførselstegn. Det vi må gjøre i den neste delen av koden, som vil være linje 20 til 22, er å bekrefte om spørringen vår var vellykket, og ved å gjøre dette vil den ganske enkelt vise oss en suksessmelding hvis spørringen vi utførte ble fullført.

Og til slutt ville vi ha linje 22 til 24 som ville vise oss et annet budskap i tilfelle spørringen vår ikke var vellykket. Her kan vi se en feilmelding i tilfelle noe har gått galt.

Når det gjelder PHP Data Object (PDO) -metoden, trenger vi først en tilkobling til databasen, slik vi sa at den skulle gjøres i det forrige eksemplet, noe vi kan gjøre ved å opprette et nytt objekt, siden tilkoblingen til MySQL -databasen er et PDO -objekt (enhver funksjon som er en del av et hvilket som helst objekt) for å forberede og utføre funksjonene. PDO vil tillate oss å forberede SQL -koden før vi utfører den, og SQL -spørringen vil bli korrigert og evaluert før den utføres.

Et forenklet SQL -injeksjonsangrep kan utføres ved å skrive en SQL -kode i et skjemafelt. Ved å ha en syntaktisk korrekt SQL -kode, ved å sette et semikolon, ville vi gjøre DROP DATABSE user_table til en ny SQL -spørring, og deretter ble brukertabellen vår droppet; ta i betraktning at de deklarerte funksjonene ikke tillater tegn

I linje 28, 29 og 30 ville vi brukt bindPiramid () -metoden (denne metoden evaluerer dataene når utføringsmetoden er nådd) for databaseobjektet, selv om vi også ville ha bindValue () -metoden (som evaluerer dataene så snart som du får til bindValue) som er veldig annerledes. Hvis vi ønsker å oppdatere databasen vår for å erstatte bindPiramid med bindValue, er alt vi trenger å gjøre å sette inn i MYSQL to ganger i databasen.

kode-1

Hvordan bekrefter jeg at alt er i orden når du setter inn data i MySQL fra et skjema?

Først av alt, alt vi trenger å gjøre for å vite at spørringen vi gjorde i MySQL -databasen, er å forvente å se meldingen «Koble til vellykket. Ny post opprettet vellykket ”, Selv om det kan være tidspunkter hvor den nye posten kan vise en feil ved innsetting fra SQL, men vi trenger ikke bekymre deg for dette, da det er noen måter vi kan fikse disse MYSQL -feilene på.

I MYSQL, hvis en feilmelding vises, kan vi bruke noen metoder for å løse dette problemet, for eksempel hvis vi har en syntaksfeil i koden vår, finner vi følgende melding:

«Koble til vellykket, feil: sett inn i ansatte {navn, etternavn, e -post} VERDIER ('Test', 'Testing', 'Testing@testing.com') Du har en feil i SQL -syntaksen; sjekk håndboken som tilsvarer din MYSQL -serverversjon for riktig syntaks for å bruke nær «{navn, etternavn, e -post} VERDIER ('Test', 'Testing', 'Testing@testing.com') på 1».

Som vi kan se, ble den første delen av koden vår vellykket angitt, men vår SQL -spørring traff en vegg: «Feil, Sett inn i ansatte {navn, etternavn, e -post} VERDIER ('Steve', 'Vial', 'thom .v @ some.com ') Du har en feil i SQL -syntaksen din; sjekk håndboken som tilsvarer MYSQL -serverversjonen din for å finne den riktige syntaksen som skal brukes nær '{navn, etternavn, e -post} VERDIER (' Steve ',' Vial ',' steve.v@some.com ')' på linje 1 » , her har vi en syntaksfeil som dessverre forårsaket feilen i skriptet vårt, så feilen var der det sto: «$ sql = sett inn i ansatte {navn, etternavn, e -post} VERDIER ('Steve', 'Vial', 'steve . v@some.com ') »; Det er ikke greit å bruke firkantede parenteser i stedet for enkeltparenteser, og siden det var det vi gjorde, ga scriptet oss en syntaksfeil.

Når det gjelder PDO på linje 7 i tilkoblingen til dette, er feilmodusen konfigurert til å vise alle unntakene. Hvis dette vil skje og det blir utelatt av skriptet, vil spørringen mislykkes oss, men vi vil ikke motta noen feilmelding , siden Med unntak aktivert, viser det oss det spesifikke problemet. Vanligvis bør dette bare brukes til å utvikle et skript, fordi vi kan avsløre databasen og tabellnavnene, som vi foretrekker å skjule for alle som skadelig prøvde å få tilgang til dataene våre.

I det forrige tilfellet der vi bruker parenteser i stedet for å bruke normale parenteser, vil feilen som ser slik ut: «Fatal error: Uncaught exception 'PDO exception' med meldingen 'SQLSTATE [42000]: syntaksfeil eller brudd på tilgang: 1064 Du har en feil i din SQL -syntaks; check the manual that corresponds to your MYSQL server version for the right syntax to use near '{name, lastname, email} VALUES ('Steve' , 'Vial', 'steve.v@some.com')' at line 1» .

Andre problemer vi kan finne når vi setter inn data i MYSQL fra et skjema, kan være: spesifiserte feilkolonner (det vil si ikke-eksisterende kolonner eller en stavefeil), en type verdi som er tilordnet en annen type kolonne.

For eksempel: Hvis vi prøvde å tilordne et nummer 24 til en kolonne som vi har opprettet med navnet (NAME), ville det vi få en feil være fordi det skal ha en tekstverdi; nå hvis vi vil tilordne et tall i anførselstegn, ved å bruke det samme eksemplet på tallet 24, som kan fungere for oss fordi nummeret vårt vil bli tildelt som en tekst til kolonnen.

Det siste problemet vi kan støte på er å prøve å legge inn data i en tabell som ikke eksisterer eller gjøre en stavefeil i tabellen. Alle disse feilene kan enkelt løses hvis vi følger retningslinjene i feilmeldingen, etter at vi har lykkes med dataoppføring, bør vi se informasjonen som er lagt til i databasen vår.

Med denne artikkelen håper vi å ha klart å klargjøre på den tydeligste og mest forståelige måten, slik at vi enkelt kan lære å sette inn data i MYSQL fra et skjema, for å bruke PHP, både ved å ha forklart disse to begrepene på den tydeligste og mest kortfattet måte for bedre å forstå forklaringen gitt om hvordan du setter inn data i en MYSQL -database ved hjelp av MYSQLi og PDO, forklarer vi begge alternativene som vi kan utføre dette alternativet på (lage en tabell eller lage en PHP -kode for å sette inn data i en MYSQL -database) for å bekrefte at alt vi har gjort så langt er i sin respektive rekkefølge og også lære å løse tilkoblingsfeilene vi er utsatt for å begå eller som kan oppstå siden det vi gjorde var å nevne de som er de vanligste.

Programmeringsspråket kan virke noe komplisert, og uten tvil er det noe vi må være nøye med når vi jobber med det, fordi vi må sikre at kodene våre er etablert på en perfekt måte for å kunne forhindre at hele systemet vårt mislykkes og denne kraften til å begynne på nytt, noe som er nettopp det mange av oss ønsker å unngå. Å vite hvordan du bruker PHP til å sette inn data i en MYSQL -database er nyttig enten vi lærer å programmere eller på annen måte det vi gjør, er å bygge vårt eget nettsted.

Hvis du vil vite mer om hvordan du setter inn data i MySQL med PHP fra et skjema, inviterer vi deg til å se følgende video: