Weboldal keresés

PHP mysqli_query függvény


Ebben a bejegyzésben azt fogjuk megvitatni, hogyan kell használni a mysqli_query függvényt PHP-ban egy adott lekérdezés végrehajtásához egy MySQL adatbázison.

Fedezzük fel.

Funkció szintaxis

A következő részlet bemutatja a függvény szintaxisát eljárásos formátumban.

mysqli_query(mysqli $mysql, string $query, INT $result_mode = MYSQLI_STORE_RESULT): mysqli_result|bool

A függvény a következő paramétereket fogadja el:

  1. mysql – ez egy mysqli objektumot határoz meg, amelyet a mysqli_connect vagy mysqli_init() függvények adnak vissza.
  2. lekérdezés – ez meghatároz egy lekérdezési karakterláncot, amelyet a céladatbázison hajtanak végre. A PHP ajánlja a paraméterezett előkészített nyilatkozatok használatát, ha a lekérdezés bármilyen változó bemenetet tartalmaz. Alternatív megoldásként a bemenetet megfelelően kell formázni, és a karaktereket el kell menekíteni az SQL Injekciók megakadályozása érdekében.
  3. eredmény_módszer – ez a paraméter meghatározza az eredmény módját, vagyis hogy az eredmény hogyan kerül visszaadásra a szervertől. A megengedett paraméterek a következőket tartalmazzák:

    1. MYSQLI_STORE_RESULT – visszaadja az eredményt mysqli_result objektumként egy pufferelt eredményhalmazzal.
    2. MYSQLI_USE_RESULT – az eredményt egy puffer nélküli mysqli_result objektumként adja vissza.
    3. MYSQLI_ASYNC - ez az előre meghatározott lekérdezést aszinkron módon hajtja végre, és nem tér vissza azonnal eredménnyel. Ehelyett a függvény végrehajtja a lekérdezést, majd a mysqli_poll() függvényt használja az összes eredmény visszaadására a lekérdezésből.

A funkció hamis értéket ad vissza, ha hiba történt. Ha sikeres, a funkció végrehajtja a lekérdezésben meghatározott műveleteket, például SELECT, SHOW, DESCRIBE stb.

Példa funkció használat

A következőkben a mysqli_query függvény használatának egy példáját mutatjuk be. Kezdje azzal, hogy létrehoz egy mintaadatbázist, táblát és adatokat az alábbi lekérdezések szerint:

CREATE DATABASE src;
USE src;
DROP TABLE IF EXISTS stack_mapping;
CREATE TABLE stack_mapping(
    id INT AUTO_INCREMENT PRIMARY KEY,
    server_name VARCHAR(50) NOT NULL,
    address VARCHAR(100) NOT NULL,
    installed_version VARCHAR(50),
    tool_id INT
);
INSERT INTO stack_mapping(server_name, address, installed_version, tool_id)
VALUES ('SQL Server', 'localhost:1433', '15.0', 1),
       ('Elasticsearch', 'localhost:9200', '8.4', 2),
       ('Redis', 'localhost:6379', '6.0', 3),
       ('PostgreSQL', 'localhost:5432', '14.5', 4),
       ('MySQL', 'localhost:3306', '8.0', NULL);

Példa – PHP mysqli_query() függvény használata rekordok lekérdezésére

Az alábbi példa bemutatja, hogyan lehet használni a függvényt a bejegyzések lekérdezésére a táblázatból:

<?php
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$conn = mysqli_connect('localhost', "root", "", "src");

$query = "SELECT * FROM stack_mapping";
$result = mysqli_query($conn, $query);
printf("Returned rows: %d \n", mysqli_num_rows($result));
?>

Ebben az esetben a fenti funkció csatlakozik az adatbázishoz, majd a mysqli_function-t használja a stack_mapping táblából való sorok lekérésére.

Végül a mysqli_num_rows függvény segítségével meghatározzuk a visszaadott sorok számát. Az eredmény a következőképpen néz ki:

Returned ROWS 5

MEGJEGYZÉS: Ha nagy mennyiségű adatot szeretne lekérni, használja a MYSQLI_USE_RESULT eredménytípust.

Következtetés

Ebben a bejegyzésben arról beszéltünk, hogyan lehet a mysqli_fetch függvényt használni PHP-ban egy adott lekérdezés végrehajtására egy adatbázisban.

Köszönöm, hogy elolvastad!!