- PHP ja MySQL on dünaamilise veebiarenduse olulised tööriistad.
- MySQL päringud võimaldavad teil teha selliseid toiminguid nagu andmete lugemine, sisestamine ja värskendamine.
- SQL-i süstide vältimiseks on hädavajalik kasutada turvameetmeid.
- Dokumentatsioon ja praktika on PHP-s MySQL-päringute valdamise võtmeks.
PHP programmeerimiskeel ja MySQL andmebaasihaldussüsteem on võimsad ja populaarsed tööriistad, mida kasutatakse veebiarenduses. PHP ja MySQL kombinatsioon võimaldab luua dünaamilisi ja funktsionaalseid veebirakendusi. Selles artiklis uurime MySQL päringuid PHP-s ja anname praktilisi näiteid, mis illustreerivad andmebaasiga suhtlemist. Õpime päringuid sooritama, andmeid sisestama, kirjeid värskendama ja palju muud. Sukeldume PHP-s MySQL päringute põnevasse maailma!
Mis on MySQL päringud PHP-s?
MySQL-päringud PHP-s on juhised või käsud, mida kasutatakse PHP programmeerimiskeelt kasutades MySQL-i andmebaasiga suhtlemiseks. Need päringud võimaldavad teil teha selliseid toiminguid nagu lugemine, sisestamine, värskendamine ja andmebaasist andmete kustutamine. PHP pakub laias valikus funktsioone ja meetodeid MySQL-i päringute tõhusaks täitmiseks. Lisateabe saamiseks vaadake [MySQL-i päringuid ja näiteid] (https://informatecdigital.com/consultas-mysql-y-ejemplos/).
Keskkonna ettevalmistamine: andmebaasi konfigureerimine
Enne kui hakkate PHP-s MySQL päringutega töötama, peate andmebaasi konfigureerima. Siin on mõned põhilised sammud keskkonna ettevalmistamiseks:
MySQL-i installimine : MySQL-i kasutamiseks peame selle oma süsteemi installima. MySQL on avatud lähtekoodiga relatsioonandmebaaside haldussüsteem, mille saab tasuta alla laadida ja installida MySQL-i ametlikult veebisaidilt.
Andmebaasi loomine : Pärast MySQL-i installimist saame luua uue andmebaasi haldustööriista (nt phpMyAdmin) abil või SQL-käskude abil otse MySQL-i konsoolis.
CREATE DATABASE nombre_basedatos;
Tabeli loomine : Kui andmebaas on loodud, saame selle sees luua tabeli. Tabel on ridadest ja veergudest koosnev struktuur, kuhu me oma andmeid salvestame.
CREATE TABLE nombre_tabla ( columna1 tipo_dato, columna2 tipo_dato, ... );
Nüüd, kui oleme oma keskkonna seadistanud, saame hakata töötama PHP-s MySQL päringutega. Lisateavet [MySQL-is tabelite loomise, näited ja selgitused] kohta leiate (https://informatecdigital.com/crear-tablas-en-mysql-ejemplos-y-explicaciones/).
MySQL päringute sooritamine PHP-s
Andmebaasi ühendamine
Enne päringute tegemist peame looma andmebaasiga ühenduse õigeid mandaate kasutades. PHP pakub funktsiooni mysqli_connect() ühenduse loomiseks. Vaatame näidet:
<?php
$host = 'localhost';
$usuario = 'nombre_usuario';
$contrasena = 'contrasena_usuario';
$basedatos = 'nombre_basedatos';
$conexion = mysqli_connect($host, $usuario, $contrasena, $basedatos);
if (!$conexion) {
die('Error al conectar: ' . mysqli_connect_error());
}
echo 'Conexión exitosa!';
?>
Ülaltoodud näites asendasime 'localhost' koos hostiga, kus andmebaas asub, 'nombre_usuario' y 'contrasena_usuario' juurdepääsu mandaatidega ja 'nombre_basedatos' andmebaasi nimega, millega tahame ühendust luua. Kui ühendus õnnestub, kuvatakse teade "Ühendus õnnestus!"
VALI päringud
SELECT päringuid kasutatakse andmete toomiseks andmebaasist. Tulemuste filtreerimiseks saame määrata veerud ja tingimused. Vaatame näidet, kuidas PHP-s SELECT päringut sooritada:
<?php
$consulta = "SELECT columna1, columna2 FROM nombre_tabla WHERE condicion";
$resultado = mysqli_query($conexion, $consulta);
if ($resultado) {
while ($fila = mysqli_fetch_assoc($resultado)) {
echo $fila['columna1'] . ' - ' . $fila['columna2'] . '<br>';
}
} else {
echo 'Error en la consulta: ' . mysqli_error($conexion);
}
mysqli_free_result($resultado);
mysqli_close($conexion);
?>
Ülaltoodud näites asendasime 'columna1' y 'columna2' veergude nimedega, mida tahame taastada, 'nombre_tabla' selle tabeli nimega, milles tahame päringu sooritada, ja 'condicion' valikulise tingimusega tulemuste filtreerimiseks. Kui päring on edukas, kuvatakse tulemused brauseris. Kui soovite päringutingimustesse süveneda, vaadake artiklit [kus MySQL-is](https://informatecdigital.com/where-en-mysql/).
INSERT Päringud
INSERT päringuid kasutatakse uute kirjete lisamiseks andmebaasi tabelisse. Saame määrata väärtused, mida tahame iga veeru jaoks lisada. Vaatame näidet, kuidas PHP-s INSERT-päringut sooritada:
<?php
$consulta = "INSERT INTO nombre_tabla (columna1, columna2) VALUES ('valor1', 'valor2')";
if (mysqli_query($conexion, $consulta)) {
echo 'Registro insertado exitosamente!';
} else {
echo 'Error en la consulta: ' . mysqli_error($conexion);
}
mysqli_close($conexion);
?>
Ülaltoodud näites asendasime 'nombre_tabla' selle tabeli nimega, kuhu soovime kirjeid lisada, 'columna1' y 'columna2' koos vastavate veergude nimedega ja 'valor1' y 'valor2' väärtustega, mida tahame lisada. Kui päring on edukas, kuvatakse teade "Kirje sisestatud edukalt!" Keerulisemate näidete jaoks võite külastada [MySQL-i mitme tabeli päringuid ja näiteid] (https://informatecdigital.com/consultas-multitablas-mysql-ejemplos/).
VÄRSKENDA päringuid
UPDATE päringuid kasutatakse andmebaasi tabelis olemasolevate kirjete värskendamiseks. Saame määrata väärtused, mida soovime värskendada, ja värskendatavate kirjete filtreerimise tingimused. Vaatame näidet, kuidas teha PHP-s UPDATE päring:
<?php
$consulta = "UPDATE nombre_tabla SET columna1 = 'nuevo_valor' WHERE condicion";
if (mysqli_query($conexion, $consulta)) {
echo 'Registro actualizado exitosamente!';
} else {
echo 'Error en la consulta: ' . mysqli_error($conexion);
}
mysqli_close($conexion);
?>
Ülaltoodud näites asendasime 'nombre_tabla' selle tabeli nimega, milles soovime värskendada, 'columna1' veeru nimega, mida soovime värskendada, 'nuevo_valor' uue väärtusega, mille tahame määrata, ja 'condicion' valikulise tingimusega värskendatavate kirjete filtreerimiseks. Kui päring on edukas, kuvatakse teade "Kirje värskendamine õnnestus!" Lisateavet [MySQL-i salvestatud protseduuride] kohta (https://informatecdigital.com/procedimientos-almacenados-en-mysql-una-guia-completa/) leiate järgmiselt lingilt.
KUSTUTA päringud
DELETE päringuid kasutatakse kirjete kustutamiseks andmebaasi tabelist. Saame määrata kustutatavate kirjete filtreerimise tingimused. Vaatame näidet, kuidas teha PHP-s DELETE päring:
<?php
$consulta = "DELETE FROM nombre_tabla WHERE condicion";
if (mysqli_query($conexion, $consulta)) {
echo 'Registro eliminado exitosamente!';
} else {
echo 'Error en la consulta: ' . mysqli_error($conexion);
}
mysqli_close($conexion);
?>
Ülaltoodud näites asendasime 'nombre_tabla' selle tabeli nimega, millest soovime kirjeid kustutada, ja 'condicion' valikulise tingimusega kustutatavate kirjete filtreerimiseks. Kui päring on edukas, kuvatakse teade "Kirje kustutatud edukalt!" SQL-koodi optimeerimiseks kaaluge [Views in MySQL] kasutamist (https://informatecdigital.com/vistas-en-mysql-optimiza-tu-codigo-sql/).
Praktilised näited: MySQL päringud PHP-s
Nüüd, kui oleme käsitlenud PHP-s MySQL päringute põhitõdesid, vaatame mõningaid praktilisi näiteid, et paremini mõista, kuidas neid veebiarenduses kasutatakse. Need näited on mõeldud tavaliste kasutusjuhtude illustreerimiseks.
Näide 1: Kuva kõik kirjed tabelis
Oletame, et meil on tabel nimega "kasutajad" veergudega "id", "nimi" ja "e-post". Tahame kuvada kõik tabelis olevad kirjed. Seda saame teha järgmiselt.
<?php
$consulta = "SELECT * FROM usuarios";
$resultado = mysqli_query($conexion, $consulta);
if ($resultado) {
echo '<table>';
echo '<tr><th>ID</th><th>Nombre</th><th>Correo</th></tr>';
while ($fila = mysqli_fetch_assoc($resultado)) {
echo '<tr>';
echo '<td>' . $fila['id'] . '</td>';
echo '<td>' . $fila['nombre'] . '</td>';
echo '<td>' . $fila['correo'] . '</td>';
echo '</tr>';
}
echo '</table>';
} else {
echo 'Error en la consulta: ' . mysqli_error($conexion);
}
mysqli_free_result($resultado);
mysqli_close($conexion);
?>
Eelmises näites kasutasime SELECT-päringus tärni (*), et valida tabelist "kasutajad" kõik veerud. Seejärel kasutame tulemuste kordamiseks ja HTML-i tabelis kuvamiseks tsüklit while. Kui vajate rohkem näiteid funktsiooni „IF” kasutamise kohta MySQL-is, võib teile huvi pakkuda [if-else MySQL koos näidetega](https://informatecdigital.com/if-else-mysql-con-ejemplos/).
Näide 2: Uue kirje lisamine tabelisse
Oletame, et tahame lisada uue kasutaja tabelisse "kasutajad". Uue kasutaja ID on 1, nimi on "John Doe" ja e-posti aadress on " [email protected] ". Teeme seda järgmiselt.
<?php $consulta = "INSERT INTO usuarios (id, nombre, correo) VALUES (1, 'John Doe', '[email protected]')"; if (mysqli_query($conexion, $consulta)) { echo 'Registro insertado exitosamente!'; } else { echo 'Error en la consulta: ' . mysqli_error($conexion); } mysqli_close($conexion); ?>
Eelmises näites andsime INSERT-päringu veergudele "id", "nimi" ja "e-post" vastavad väärtused. Kui päring on edukas, kuvatakse teade "Kirje sisestatud edukalt!" Samuti kaaluge parema andmehalduse huvides tutvumist [MySQL-i kasutajate](https://informatecdigital.com/usuarios-en-mysql/) kohta.
Näide 3: Värskendage tabelis olemasolevat kirjet
Oletame, et tahame värskendada kasutaja nime tabelis "kasutajad". Soovime muuta ID-ga 1 kasutaja nimeks “Jane Doe”. Saame seda teha järgmiselt.
<?php
$consulta = "UPDATE usuarios SET nombre = 'Jane Doe' WHERE id = 1";
if (mysqli_query($conexion, $consulta)) {
echo 'Registro actualizado exitosamente!';
} else {
echo 'Error en la consulta: ' . mysqli_error($conexion);
}
mysqli_close($conexion);
?>
Eelmises näites kasutasime tingimust WHERE, et täpsustada, et soovime kirjet uuendada ID-ga. Kui päring õnnestub, kuvatakse teade “Kirje uuendatud edukalt!”. Lisateabe saamiseks võite vaadata [MySQL-i HAVING-i kasutamine](https://informatecdigital.com/uso-de-having-en-mysql/).
Näide 4: Kirje kustutamine tabelist
Oletame, et tahame kasutaja tabelist "kasutajad" kustutada. Soovime kustutada kasutaja ID-ga 1. Seda saame teha järgmiselt.
<?php
$consulta = "DELETE FROM usuarios WHERE id = 1";
if (mysqli_query($conexion, $consulta)) {
echo 'Registro eliminado exitosamente!';
} else {
echo 'Error en la consulta: ' . mysqli_error($conexion);
}
mysqli_close($conexion);
?>
Eelmises näites kasutasime tingimust WHERE, et määrata, et soovime kirje kustutada ID-ga. Kui päring õnnestub, kuvatakse teade “Kirje kustutatud edukalt!”. Ärge unustage, et [MySQL-i pesastatud päringute] (https://informatecdigital.com/consultas-anidadas-en-mysql-ejemplos-y-explicacion/) tundmaõppimine võib samuti olla väga kasulik.
Korduma kippuvad küsimused
Mis vahe on MySQL-il ja PHP-l?
MySQL on relatsiooniline andmebaasihaldussüsteem, PHP aga programmeerimiskeel. MySQL-i kasutatakse andmete salvestamiseks ja toomiseks, PHP-d aga nende andmete töötlemiseks ja manipuleerimiseks. MySQL ja PHP kombinatsioon on veebiarenduses levinud dünaamiliste ja funktsionaalsete rakenduste loomiseks. Kui olete aga huvitatud põhjalikumast analüüsist, võite vaadata [MySQL-i eelised ja puudused, täielik analüüs](https://informatecdigital.com/mysql-ventajas-y-desventajas-un-analisis-completo/).
Miks on oluline PHP-s MySQL päringutes andmete eest põgeneda?
SQL-i süstimise rünnakute vältimiseks on oluline PHP-s MySQL-päringutes andmetest põgeneda. SQL-i süstimine on tehnika, mida häkkerid kasutavad andmebaasi saadetud SQL-päringutega manipuleerimiseks. Andmete vältimisega tagame, et erimärke ja SQL-lauseid ei tõlgendata pahatahtlikult. Kui soovite selle teema kohta rohkem lugeda, vaadake [MySQL-i parimad veebiressursid, täielik juhend](https://informatecdigital.com/los-mejores-recursos-web-para-mysql-una-guia-completa/).
Kas MySQL-ile ja PHP-le on andmebaasidega suhtlemiseks muid alternatiive?
Jah, MySQL-ile ja PHP-le on andmebaasidega suhtlemiseks ka teisi alternatiive. Mõned populaarsed alternatiivid on PostgreSQL, SQLite ja MongoDB andmebaasihaldussüsteemidena ning Python, Ruby ja Java programmeerimiskeeltena. Andmebaasi ja programmeerimiskeele kombinatsiooni valik sõltub projekti nõuetest ja arendaja eelistustest. Kui otsite alternatiivide kohta lisateavet, lugege artiklit [SQL Serveri alternatiivid](https://informatecdigital.com/alternativas-a-sql-server/).
Millised on parimad tavad MySQL päringute tegemiseks PHP-s?
Mõned parimad tavad MySQL-i päringute tegemiseks PHP-s on järgmised:
- SQL-i sisestamise vältimiseks kasutage ettevalmistatud avaldusi või parameetritega päringuid.
- Escape andmetest õigesti, kasutades selliseid funktsioone nagu
mysqli_real_escape_string()või koostatud avaldused. - Enne päringute käivitamist kontrollige ja filtreerige sisendandmeid.
- Kasutage volitamata juurdepääsu piiramiseks sobivaid andmebaasirolle ja -õigusi.
- Pärast päringute sooritamist sulgege ühendus andmebaasiga
mysqli_close().
Mis on vahet mysqli_query() y mysqli_real_query() PHP-s?
mysqli_query() Seda kasutatakse ühe SQL-päringu käivitamiseks andmebaasi vastu ja see tagastab tulemuse. Teisest küljest mysqli_real_query() Seda kasutatakse mitme semikoolonitega eraldatud SQL-päringu täitmiseks andmebaasi vastu. See ei anna tulemusi ja kontrollib ainult päringute kehtivust.
Kuidas saada PHP-s MySQL-päringute kohta lisateavet?
PHP-s MySQL-päringute kohta lisateabe saamiseks vaadake ametlikku PHP ja MySQL-i dokumentatsiooni. Samuti saate uurida veebipõhiseid õpetusi, kursusi ja raamatuid, mis on spetsialiseerunud veebiarendusele PHP ja MySQL-iga. Reaalsest elust pärit näidete ja projektidega harjutamine on ka suurepärane võimalus omandada kogemusi ja oskusi MySQL päringutega PHP-s. Kui otsite täielikku juhendit MySQL-i funktsioonide kohta, soovitan [luua funktsioone MySQL-is](https://informatecdigital.com/crear-funciones-en-mysql/).
Järeldus
Selles artiklis oleme uurinud MySQL-i päringuid PHP-s ja esitanud praktilisi näiteid, mis illustreerivad, kuidas PHP-ga MySQL-i andmebaasiga suhelda. Oleme käsitlenud päringuid SELECT, INSERT, UPDATE ja DELETE, samuti põhietappe andmebaasi seadistamiseks ja ühenduse loomiseks PHP-s. Loodame, et see juhend on andnud teile teadmisi, mida vajate PHP-s MySQL-päringute kasutamise alustamiseks ning dünaamiliste ja funktsionaalsete veebirakenduste loomiseks. Jätkake ja rakendage oma järgmises projektis PHP ja MySQL kogu potentsiaal!