Zapytania MySQL PHP z przykładami

Ostatnia aktualizacja: 23 marca 2025
  • PHP i MySQL to niezbędne narzędzia do dynamicznego tworzenia stron internetowych.
  • Zapytania MySQL umożliwiają wykonywanie operacji takich jak odczyt, wstawianie i aktualizowanie danych.
  • Niezbędne jest stosowanie środków bezpieczeństwa zapobiegających atakom SQL Injections.
  • Dokumentacja i praktyka są kluczem do opanowania zapytań MySQL w PHP.
Zapytania MySQL PHP

Język programowania PHP i system zarządzania bazą danych MySQL to potężne i popularne narzędzia wykorzystywane w tworzeniu stron internetowych. Połączenie PHP i MySQL umożliwia tworzenie dynamicznych i funkcjonalnych aplikacji internetowych. W tym artykule przyjrzymy się zapytaniom MySQL w PHP i podamy praktyczne przykłady ilustrujące interakcję z bazą danych. Nauczymy się, jak wykonywać zapytania, wstawiać dane, aktualizować rekordy i wiele więcej. Zanurzmy się w fascynujący świat zapytań MySQL w PHP!

Czym są zapytania MySQL w PHP?

Zapytania MySQL w PHP to instrukcje lub polecenia służące do interakcji z bazą danych MySQL za pomocą języka programowania PHP. Zapytania te umożliwiają wykonywanie operacji takich jak odczytywanie, wstawianie, aktualizowanie i usuwanie danych z bazy danych. PHP oferuje szeroką gamę funkcji i metod umożliwiających efektywne wykonywanie zapytań MySQL. Aby uzyskać więcej informacji, zapoznaj się z [zapytaniami MySQL i przykładami](https://informatecdigital.com/consultas-mysql-y-ejemplos/).

Przygotowanie środowiska: Konfigurowanie bazy danych

Zanim zaczniesz pracować z zapytaniami MySQL w PHP, musisz skonfigurować bazę danych. Oto kilka podstawowych kroków przygotowania środowiska:

Instalacja MySQL : Aby korzystać z MySQL, musimy zainstalować go w naszym systemie. MySQL to system zarządzania relacyjnymi bazami danych o otwartym kodzie źródłowym, który można pobrać i zainstalować bezpłatnie z oficjalnej strony internetowej MySQL.

Tworzenie bazy danych : Po zainstalowaniu MySQL możemy utworzyć nową bazę danych korzystając z narzędzia administracyjnego, np. phpMyAdmin lub stosując polecenia SQL bezpośrednio w konsoli MySQL.

CREATE DATABASE nombre_basedatos;

Tworzenie tabeli : Po utworzeniu bazy danych możemy utworzyć w niej tabelę. Tabela to struktura zawierająca wiersze i kolumny, w której przechowujemy dane.

CREATE TABLE nombre_tabla (
  columna1 tipo_dato,
  columna2 tipo_dato,
  ...
);

Teraz, gdy mamy już skonfigurowane środowisko, możemy zacząć pracować z zapytaniami MySQL w PHP. Możesz dowiedzieć się więcej na temat [tworzenia tabel w MySQL, przykładów i wyjaśnień](https://informatecdigital.com/crear-tablas-en-mysql-ejemplos-y-explicaciones/).

Wykonywanie zapytań MySQL w PHP

Łączenie się z bazą danych

Zanim wykonamy jakiekolwiek zapytanie, musimy nawiązać połączenie z bazą danych, używając prawidłowych danych uwierzytelniających. PHP zapewnia funkcję mysqli_connect() aby nawiązać połączenie. Zobaczmy przykład:

<?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!';
?>

W powyższym przykładzie zastąpiliśmy 'localhost' z hostem, na którym znajduje się baza danych, 'nombre_usuario' y 'contrasena_usuario' z danymi dostępowymi i 'nombre_basedatos' z nazwą bazy danych, z którą chcemy się połączyć. Jeśli połączenie zostanie nawiązane pomyślnie, zostanie wyświetlony komunikat „Połączenie pomyślne!”.

WYBIERZ zapytania

Zapytania SELECT służą do pobierania danych z bazy danych. Możemy określić kolumny i warunki filtrowania wyników. Zobaczmy przykład wykonania zapytania SELECT w PHP:

<?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);
?>

W powyższym przykładzie zastąpiliśmy 'columna1' y 'columna2' z nazwami kolumn, które chcemy odzyskać, 'nombre_tabla' z nazwą tabeli, w której chcemy wykonać zapytanie, i 'condicion' z opcjonalnym warunkiem filtrowania wyników. Jeśli zapytanie zakończy się powodzeniem, wyniki zostaną wyświetlone w przeglądarce. Jeśli chcesz dowiedzieć się więcej na temat warunków zapytania, zobacz [where w MySQL](https://informatecdigital.com/where-en-mysql/).

  Formy normalne w bazach danych: czym są i do czego służą?

Zapytania INSERT

Zapytania INSERT służą do wstawiania nowych rekordów do tabeli bazy danych. Możemy określić wartości, które chcemy wstawić dla każdej kolumny. Zobaczmy przykład wykonania zapytania INSERT w PHP:

<?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);
?>

W powyższym przykładzie zastąpiliśmy 'nombre_tabla' z nazwą tabeli, do której chcemy wstawić rekordy, 'columna1' y 'columna2' z odpowiednimi nazwami kolumn i 'valor1' y 'valor2' z wartościami, które chcemy wstawić. Jeśli zapytanie się powiedzie, zostanie wyświetlony komunikat „Rekord wstawiono pomyślnie!”. Bardziej złożone przykłady można znaleźć na stronie [Zapytania wielotabelowe MySQL i przykłady](https://informatecdigital.com/consultas-multitablas-mysql-ejemplos/).

AKTUALIZACJA Zapytania

Zapytania UPDATE służą do aktualizacji istniejących rekordów w tabeli bazy danych. Możemy określić wartości, które chcemy zaktualizować oraz warunki filtrowania rekordów, które mają zostać zaktualizowane. Zobaczmy przykład wykonania zapytania UPDATE w PHP:

<?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);
?>

W powyższym przykładzie zastąpiliśmy 'nombre_tabla' z nazwą tabeli, w której chcemy wykonać aktualizację, 'columna1' z nazwą kolumny, którą chcemy zaktualizować, 'nuevo_valor' z nową wartością, którą chcemy przypisać, i 'condicion' z opcjonalnym warunkiem umożliwiającym filtrowanie rekordów, które mają zostać zaktualizowane. Jeśli zapytanie się powiedzie, zostanie wyświetlony komunikat „Rekord zaktualizowano pomyślnie!”. Więcej informacji na temat [procedur składowanych w bazie danych MySQL](https://informatecdigital.com/procedimientos-almacenados-en-mysql-una-guia-completa/) można uzyskać, klikając poniższy link.

USUŃ zapytania

Zapytania DELETE służą do usuwania rekordów z tabeli bazy danych. Możemy określić warunki filtrowania rekordów przeznaczonych do usunięcia. Zobaczmy przykład wykonania zapytania DELETE w PHP:

<?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);
?>

W powyższym przykładzie zastąpiliśmy 'nombre_tabla' z nazwą tabeli, z której chcemy usunąć rekordy, i 'condicion' z opcjonalnym warunkiem filtrującym rekordy do usunięcia. Jeśli zapytanie zakończy się powodzeniem, zostanie wyświetlony komunikat „Rekord został pomyślnie usunięty!”. Aby zoptymalizować kod SQL, rozważ użycie [widoków w MySQL](https://informatecdigital.com/vistas-en-mysql-optimiza-tu-codigo-sql/).

Praktyczne przykłady: zapytania MySQL w PHP

Teraz, gdy omówiliśmy podstawy zapytań MySQL w PHP, przyjrzyjmy się kilku praktycznym przykładom, aby lepiej zrozumieć, jak są one wykorzystywane w tworzeniu stron internetowych. Przykłady te mają na celu zilustrowanie typowych przypadków użycia.

Przykład 1: Wyświetlanie wszystkich rekordów w tabeli

Załóżmy, że mamy tabelę o nazwie „użytkownicy” z kolumnami „id”, „nazwa” i „email”. Chcemy wyświetlić wszystkie rekordy w tabeli. Oto jak możemy to zrobić:

<?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);
?>

W poprzednim przykładzie użyliśmy gwiazdki (*) w zapytaniu SELECT, aby wybrać wszystkie kolumny z tabeli „users”. Następnie używamy pętli while do iterowania wyników i wyświetlania ich w tabeli HTML. Jeśli potrzebujesz więcej przykładów użycia funkcji „IF” w MySQL, może Cię zainteresować artykuł [if-else MySQL z przykładami](https://informatecdigital.com/if-else-mysql-con-ejemplos/).

  Czym są bazy danych nierelacyjne?

Przykład 2: Wstawianie nowego rekordu do tabeli

Załóżmy, że chcemy dodać nowego użytkownika do tabeli „users”. Nowy użytkownik ma identyfikator 1, imię „John Doe” i adres e-mail „ [email protected] ”. Oto jak to zrobić:

<?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);
?>

W poprzednim przykładzie podaliśmy odpowiednie wartości dla kolumn „id”, „name” i „email” w zapytaniu INSERT. Jeśli zapytanie powiedzie się, zostanie wyświetlony komunikat „Rekord wstawiono pomyślnie!”. Warto również zapoznać się z informacjami na temat [użytkowników MySQL](https://informatecdigital.com/usuarios-en-mysql/) w celu lepszego zarządzania danymi.

Przykład 3: Aktualizacja istniejącego rekordu w tabeli

Załóżmy, że chcemy zaktualizować nazwę użytkownika w tabeli „users”. Chcemy zmienić nazwę użytkownika o ID 1 na „Jane Doe”. Oto jak możemy to zrobić:

<?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);
?>

W poprzednim przykładzie użyliśmy warunku WHERE, aby określić, że chcemy zaktualizować rekord o identyfikatorze 1. Jeśli zapytanie zakończy się powodzeniem, zostanie wyświetlony komunikat „Rekord zaktualizowano pomyślnie!”. Więcej informacji można znaleźć w artykule [Używanie HAVING w MySQL](https://informatecdigital.com/uso-de-having-en-mysql/).

Przykład 4: Usuwanie rekordu z tabeli

Załóżmy, że chcemy usunąć użytkownika z tabeli „users”. Chcemy usunąć użytkownika o ID 1. Oto jak możemy to zrobić:

<?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);
?>

W poprzednim przykładzie użyliśmy warunku WHERE, aby określić, że chcemy usunąć rekord o identyfikatorze 1. Jeśli zapytanie zakończy się powodzeniem, zostanie wyświetlony komunikat „Rekord został pomyślnie usunięty!”. Nie zapomnij, że wiedza na temat [zagnieżdżonych zapytań w MySQL](https://informatecdigital.com/consultas-anidadas-en-mysql-ejemplos-y-explicacion/) może być również bardzo przydatna.

Najczęściej zadawane pytania

Jaka jest różnica pomiędzy MySQL i PHP?

MySQL to system zarządzania relacyjnymi bazami danych, natomiast PHP to język programowania. MySQL służy do przechowywania i pobierania danych, natomiast PHP służy do przetwarzania i manipulowania tymi danymi. Połączenie MySQL i PHP jest powszechnie stosowane w tworzeniu stron internetowych do tworzenia dynamicznych i funkcjonalnych aplikacji. Jeśli jednak interesuje Cię bardziej dogłębna analiza, możesz zapoznać się z artykułem [Zalety i wady MySQL, pełna analiza](https://informatecdigital.com/mysql-ventajas-y-desventajas-un-analisis-completo/).

Dlaczego ważne jest stosowanie znaków ucieczki w zapytaniach MySQL w PHP?

W zapytaniach MySQL w PHP ważne jest uciekanie się do danych, aby zapobiec atakom typu SQL injection. Wstrzyknięcie SQL to technika wykorzystywana przez hakerów w celu manipulowania zapytaniami SQL wysyłanymi do bazy danych. Dzięki ucieczce danych mamy pewność, że znaki specjalne i instrukcje SQL nie zostaną złośliwie zinterpretowane. Jeśli chcesz dowiedzieć się więcej na ten temat, zapoznaj się z artykułem [Najlepsze zasoby internetowe dotyczące MySQL. Kompletny przewodnik](https://informatecdigital.com/los-mejores-recursos-web-para-mysql-una-guia-completa/).

  Python i bazy danych: kompletny przewodnik dla początkujących

Czy istnieją inne alternatywy dla MySQL i PHP do interakcji z bazami danych?

Tak, istnieją inne alternatywy dla MySQL i PHP umożliwiające interakcję z bazami danych. Do popularnych alternatyw zaliczają się PostgreSQL, SQLite i MongoDB jako systemy zarządzania bazami danych oraz Python, Ruby i Java jako języki programowania. Wybór kombinacji bazy danych i języka programowania zależy od wymagań projektu i preferencji programisty. Jeśli chcesz uzyskać więcej szczegółów na temat alternatyw, możesz przeczytać artykuł [o alternatywach dla programu SQL Server](https://informatecdigital.com/alternativas-a-sql-server/).

Jakie są najlepsze praktyki wykonywania zapytań MySQL w PHP?

Oto kilka najlepszych praktyk wykonywania zapytań MySQL w PHP:

  1. Aby zapobiec atakom typu SQL Injector, należy używać przygotowanych instrukcji lub sparametryzowanych zapytań.
  2. Poprawnie wyjdź z danych, używając funkcji takich jak mysqli_real_escape_string() lub przygotowanych oświadczeń.
  3. Przed uruchomieniem zapytań należy sprawdzić poprawność danych wejściowych i je przefiltrować.
  4. Użyj odpowiednich ról i uprawnień bazy danych, aby ograniczyć nieautoryzowany dostęp.
  5. Zamknij połączenie z bazą danych po wykonaniu zapytań za pomocą mysqli_close().

Jaka jest różnica pomiędzy mysqli_query() y mysqli_real_query() w PHP?

mysqli_query() Służy do wykonania pojedynczego zapytania SQL w bazie danych i zwrócenia wyniku w przypadku powodzenia. Z drugiej strony, mysqli_real_query() Służy do wykonywania wielu zapytań SQL w bazie danych, oddzielonych średnikami. Nie zwraca wyników i jedynie weryfikuje poprawność zapytań.

Jak mogę dowiedzieć się więcej o zapytaniach MySQL w PHP?

Aby dowiedzieć się więcej na temat zapytań MySQL w PHP, możesz zapoznać się z oficjalną dokumentacją PHP i MySQL. Możesz również zapoznać się z samouczkami, kursami i książkami online, które specjalizują się w tworzeniu stron internetowych z wykorzystaniem PHP i MySQL. Ćwiczenie na przykładach i projektach z życia wziętych jest również świetnym sposobem na zdobycie doświadczenia i umiejętności obsługi zapytań MySQL w PHP. Jeśli szukasz kompletnego przewodnika po funkcjach w MySQL, polecam [tworzenie funkcji w MySQL](https://informatecdigital.com/crear-funciones-en-mysql/).

Wnioski

W tym artykule przyjrzymy się zapytaniom MySQL w PHP i podamy praktyczne przykłady ilustrujące interakcję z bazą danych MySQL za pomocą PHP. Omówiliśmy zapytania SELECT, INSERT, UPDATE i DELETE, a także podstawowe kroki konfiguracji bazy danych i nawiązania połączenia w PHP. Mamy nadzieję, że ten przewodnik dostarczył Ci wiedzy niezbędnej do rozpoczęcia pracy z zapytaniami MySQL w PHP i tworzenia dynamicznych i funkcjonalnych aplikacji internetowych. Wykorzystaj pełen potencjał PHP i MySQL w swoim kolejnym projekcie!

Przykłady zapytań MySQL
Podobne artykuły:
Zapytania MySQL i przykłady