PL/DbExec: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
m (Botder moved page Pl/DbExec to PL/DbExec without leaving a redirect)
No edit summary
Line 3: Line 3:
{{Server function}}
{{Server function}}
Ta funkcja wykonuje zapytanie do bazy danych przy użyciu podanego połączenia. Żaden wynik nie jest zwracany.
Ta funkcja wykonuje zapytanie do bazy danych przy użyciu podanego połączenia. Żaden wynik nie jest zwracany.
{{Wskazówka|Komenda serwerowa [[Server_Commands#debugdb|debugdb 2]] wyświetli szczegółowe informacje o każdym zapytaniu do pliku dziennika (zazwyczaj '''logs/db.log''')}}  
{{Tip|Komenda serwerowa [[Server_Commands#debugdb|debugdb 2]] wyświetli szczegółowe informacje o każdym zapytaniu do pliku dziennika (zazwyczaj '''logs/db.log''')}}  
==Syntax==
==Syntax==
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">

Revision as of 15:27, 6 December 2020


Ta funkcja wykonuje zapytanie do bazy danych przy użyciu podanego połączenia. Żaden wynik nie jest zwracany.

[[{{{image}}}|link=|]] Tip: Komenda serwerowa debugdb 2 wyświetli szczegółowe informacje o każdym zapytaniu do pliku dziennika (zazwyczaj logs/db.log)

Syntax

bool dbExec ( element polaczenie_z_baza_danych, string zapytanie [, var argument1 [, var argument2 ...]] )

OOP Syntax Help! I don't understand this!

Method: connection:exec(...)


Wymagane parametry

  • polaczenie_z_baza_danych: Element połączenia z bazą danych wcześniej zwrócony z funkcji pl/dbConnect
  • zapytanie: Zapytanie SQL. Pozycje, w których zostaną wstawione wartości są oznaczone ?

Opcjonalne parametry

  • argumentX: Zmienna liczba parametrów. Muszą to być łańcuchy lub liczby - ważne jest, aby upewnić się, że są one odpowiedniego typu. Ponadto liczba przekazanych parametrów musi być równa liczbie znaków ? w ciągu zapytania.

Parametry łańcuchowe (string) są automatycznie cytowane i zmieniane w razie potrzeby. (Jeśli nie chcesz, aby ciąg był cytowany, użyj ??) Upewnij się, że liczby mają format liczbowy, ponieważ liczba ciągu jest traktowana inaczej.

Zwraca

Zwraca true (prawda) chyba że połączenie jest nieprawidłowe, w takim przypadku zwraca false (fałsz).

Przykład

Ten przykładowy kod wykona zapytanie INSERT:

dbExec( connection, "INSERT INTO nazwa_tabeli VALUES (?,?,?)", "wartosc1", "wartosc2", 3 )

Ten przykład pokazuje, jak używać znaku ? dla części zapytania, które nie są wartościami kolumn:

dbExec( connection, "UPDATE ?? SET ??=?", nazwaTabeli, nazwaKolumny, wartoscKolumny )


Uwaga: Zazwyczaj dobrą praktyką jest otaczanie nazw tabel i kolumn znakami odwrotnymi (`), jeśli zawierają spacje lub słowa kluczowe SQL (i dlatego powodują błędy składniowe). Jest to szczególnie ważne w przypadku używania zmiennych dla nazw tabel i kolumn, ponieważ potencjalne problemy mogą nie być widoczne podczas pierwszego pisania skryptu.

W tym przykładzie pokazano, jak używać znaków odwrotnych (`) i ```??``` dla części zapytania, które nie są wartościami kolumn:

dbExec( connection, "UPDATE `??` SET `??`=?", nazwaTabeli, nazwaKolumny, wartoscKolumny )

Wymagania

This template will be deleted.

Zobacz także