Forum und email

MySQL Tökéletesített Kiterjesztés

Bevezetés

A mysqli kiterjesztés lehetővé teszi a MySQL 4.1 és újabb verziók teljes kihasználását. A MySQL adatbázisról további információt a » http://www.mysql.com/ címen találsz.

A MySQL dokumentáció a » http://dev.mysql.com/doc/ címen található.

A dokumentációnak ezen részei a MySQL kézikönyvből vannak beágyazva, a MySQL AB engedélyével.

Követelmények

Ezeknek a függvényeknek a használatához a PHP-t a mysqli kiterjesztés támogatásával kell lefordítanod.

Note: A mysqli kiterjesztést a 4.1.3-as és újabb MySQL verziók kezeléséhez terveztük. Korábbi verziók kezeléséért lásd a MySQL kiterjesztés dokumentációját.

Telepítés

To install the mysqli extension for PHP, use the --with-mysqli=mysql_config_path/mysql_config configuration option where mysql_config_path represents the location of the mysql_config program that comes with MySQL versions greater than 4.1.

If you would like to install the mysql extension along with the mysqli extension you have to use the same client library to avoid any conflicts.

Installation on Windows Systems

MySQLi is not enabled by default, so the php_mysqli.dll DLL must be enabled inside of php.ini. Also, PHP needs access to the MySQL client library. A file named libmysql.dll is included in the Windows PHP distribution and in order for PHP to talk to MySQL this file needs to be available to the Windows systems PATH. See the FAQ titled "How do I add my PHP directory to the PATH on Windows" for information on how to do this. Although copying libmysql.dll to the Windows system directory also works (because the system directory is by default in the system's PATH), it's not recommended.

Note: For connecting to MySQL 5, it is recommended to download binaries from » http://dev.mysql.com/downloads/connector/php/.

As with enabling any PHP extension (such as php_mysqli.dll), the PHP directive extension_dir should be set to the directory where the PHP extensions are located. See also the Manual Windows Installation Instructions. An example extension_dir value for PHP 5 is c:\php\ext

Note: If when starting the web server an error similar to the following occurs: "Unable to load dynamic library './php_mysqli.dll'", this is because php_mysqli.dll and/or libmysql.dll cannot be found by the system.

Futásidejű beállítások

Az alábbi függvények viselkedése befolyásolható a php.ini segítségével.

MySQLi Configuration Options
Name Default Changeable Changelog
mysqli.max_links "-1" PHP_INI_SYSTEM Available since PHP 5.0.0.
mysqli.default_port "3306" PHP_INI_ALL Available since PHP 5.0.0.
mysqli.default_socket NULL PHP_INI_ALL Available since PHP 5.0.0.
mysqli.default_host NULL PHP_INI_ALL Available since PHP 5.0.0.
mysqli.default_user NULL PHP_INI_ALL Available since PHP 5.0.0.
mysqli.default_pw NULL PHP_INI_ALL Available since PHP 5.0.0.

For further details and definitions of the above PHP_INI_* constants, see the chapter on configuration changes.

A témába vágó konfigurációs direktívák rövid leírása

The maximum number of MySQL connections per process.

mysqli.default_port string

The default TCP port number to use when connecting to the database server if no other port is specified. If no default is specified, the port will be obtained from the MYSQL_TCP_PORT environment variable, the mysql-tcp entry in /etc/services or the compile-time MYSQL_PORT constant, in that order. Win32 will only use the MYSQL_PORT constant.

mysqli.default_socket string

The default socket name to use when connecting to a local database server if no other socket name is specified.

mysqli.default_host string

The default server host to use when connecting to the database server if no other host is specified. Doesn't apply in safe mode.

mysqli.default_user string

The default user name to use when connecting to the database server if no other name is specified. Doesn't apply in safe mode.

mysqli.default_pw string

The default password to use when connecting to the database server if no other password is specified. Doesn't apply in safe mode.

Előre definiált osztályok

mysqli

A PHP és egy MySQL adatbázis közötti kapcsolatot képviseli.

Konstruktor

  • mysqli - létrehoz egy új mysqli objektumot

Műveletek (osztálymetódusok)

  • autocommit - be- vagy kikapcsolja az automatikus parancsvégrehajtást az adabázis módosításakor

  • change_user - megváltoztatja a megadott adatbázis-kapcsolat felhasználóját

  • character_set_name - visszaadja az adatbázis-kapcsolat alapértelmezett karakterkészletét

  • close - bezár egy már korábban megnyitott kapcsolatot

  • commit - végrehajtja a jelenlegi tranzakciót

  • connect - új kapcsolatot nyit a MySQL adatbázishoz

  • debug - végrehajtja a debuggolási műveleteket

  • dump_debug_info - kiadja a debuggolási információkat

  • get_client_info - visszaadja a kliens verziószámát

  • get_host_info - visszaadja a használt kapcsolat típusát

  • get_server_info - visszaadja a MySQL szerver verzióját

  • get_server_version - visszaadja a MySQL szerver verzióját

  • init - beállítja a mysqli objektum kezdeti értékeit

  • info - visszanyeri az utolsó futtatott lekérdezés információit

  • kill - kérést küld a szervernek, hogy állítsa le a mysql szálat

  • multi_query - összetett kérést hajt végre

  • more_results - ellenőrzi, hogy van-e több eredménye az imént futtatott összetett kérésnek

  • next_result - beolvassa a következő eredményét az imént futtatott összetett kérésnek

  • options - beállítja az opciókat

  • ping - pingeli a szerverhez a kapcsolatot vagy újracsatlakozik, ha nincs kapcsolat

  • prepare - előkészít egy SQL kérést

  • query - végrehajt egy kérést

  • real_connect - megpróbál megnyitni egy kapcsolatot a MySQL adatbázishoz

  • escape_string - levédi az SQL parancsban használt speciális karaktereket, a kapcsolat jelenlegi karakterkészletét is számításba véve

  • rollback - visszagördíti a jelenlegi tranzakciót

  • select_db - kiválasztja az alapértelmezett adatbázist

  • set_charset - beállítja a kliens alapértelmezett karakterkészletét

  • ssl_set - beállítja az ssl paramétereket

  • stat - visszanyeri a rendszer jelenlegi állapotát

  • stmt_init- beállít egy parancsot mysqli_stmt_prepare általi használatra

  • store_result - átadja az utolsó kérés eredményhalmazát

  • thread_safe - visszaadja, hogy a szál biztonság meg van-e adva

  • use_result - átadja az utolsó kérés nem pufferelt eredményhalmazát

Értékek (osztálytulajdonságok)

  • affected_rows - kinyeri az utolsó MySQL műveletben keresett soroknak számát

  • client_info - visszaadja karakterláncként a MySQL kliens verzióját

  • client_version - visszaadja egész számként a MySQL kliens verzióját

  • errno - visszaadja a hibakódját a legutolsó függvényhívásnak

  • error - visszaadja a hibeüzenetét a legutolsó függvényhívásnak

  • field_count - visszaadja a legutolsó kérés oszlopainak a számátreturns

  • host_info - visszaadja a használt kapcsolat típusát képviselő karakterláncot

  • info - információkat nyer vissza a legutolsó futtatott kérésről

  • insert_id - visszaadja az utolsó kérésben automatikusan generált azonosítót

  • protocol_version - visszaadja a használt MySQL protokoll verzióját

  • server_info - visszaad egy karakterláncot, ami képviseli a szerver verziószámát

  • server_version - visszaadja a szerver verziószámát egész számként

  • sqlstate - visszaad egy karakterláncot, ami tartalmazza az SQLSTATE hibakódját az utolsó hibának

  • thread_id - visszaadja a szál azonosítóját (thread ID) a jelenlegi kapcsolatnak

  • warning_count - visszaadja az előzőleg futtatott SQL parancs futása során generált figyelmeztetések számát

mysqli_stmt

Egy előkészített parancsot képvisel.

Műveletek (osztálymetódusok)

  • bind_param - az előkészített parancshoz kapcsol változókat

  • bind_result - változókat kapcsol egy előkészített parancshoz egy eredmény tárolónak

  • close - bezár egy előkészített parancsot

  • data_seek - az eredményhalmaz egy tetszőleges sorához állítja a belső mutatót

  • execute - futtat egy előkészített parancsot

  • fetch - betölti az eredményeket egy előkészített parancsnól összekapcsolt változókba

  • free_result - felszabadítja a tárolt eredmény által foglalt memóriát a megadott parancskezelő számára

  • prepare - előkészít egy SQL lekérdezést

  • reset - visszaaállítja egy előkészített parancs alapértelmezett értékeit

  • result_metadata - retrieves a resultset from a prepared statement for metadata information

  • send_long_data - sends data in chunks

  • store_result - pufferelli a teljes eredményhalmazt egy előkészített parancsból

Értékek (osztálytulajdonságok)

  • affected_rows - visszaadja az előző parancsfuttatás által érintett sorok számát

  • errno - visszaadja a legutóbbi parancsfüggvény hibakódját

  • error - visszaadja a legutóbbi parancsfüggvény hibaüzenetét

  • field_count - visszaadja az eredményhalmazban szereplő oszlopok számát

  • id - visszaadja a parancsazonosítót

  • insert_id - visszaadja az AUTO_INCREMENT oszlopra generált értékét az előkészített parancsnak

  • num_rows - visszaadja az eredményhalmazban szereplő sorok számát

  • param_count - visszaadja az előkészített parancs paramétereinek a számát

  • sqlstate - visszaad egy karaterláncot, amit tartalmazza az SQLSTATE hibakódját az utolsó parancsfüggvénynek

mysqli_result

Represents the result set obtained from a query against the database.

Műveletek (osztálymetódusok)

  • close - bezárja az eredményhalmazt

  • data_seek - mozgatja a belső eredménypointert

  • fetch_array - megtölti az eredménysort asszociatív vagy numerikus tömként, vagy mindkét módon.

  • fetch_assoc - megtölti az eredménysort asszociatív tömbként

  • fetch_field - kinyeri egy oszlop információját az eredményhalmazból

  • fetch_fields - az eredményhalmazban szereplő összes oszlop információit nyeri ki

  • fetch_field_direct - a megadott oszlop információit nyeri ki

  • fetch_object - elér egy eredménysort objektumként

  • fetch_row - kinyeri az eredmény sort egy tömbbe

  • field_seek - beállítja az eredménypointert a megadott mezőpozícióba

  • free_result - felszabadítja az eredmény által lefoglalt memóriát

Értékek (osztálytulajdonságok)

  • current_field - visszaadja a pozícióját a jelenlegi mezőpointernek

  • field_count - visszaadja az eredményhalmazban szereplő mezők számát

  • lengths - visszaadja az oszlophosszúságokat tartalmazó tömböt

  • num_rows - visszaadja az eredményhalmazban lévő sorok számát

  • type - MYSQLI_STORE_RESULT-ot vagy MYSQLI_USE_RESULT-ot ad vissza

Előre definiált állandók

MySQLi Constants
Name Description
MYSQLI_READ_DEFAULT_GROUP (integer) Read options from the named group from `my.cnf' or the file specified with MYSQLI_READ_DEFAULT_FILE
MYSQLI_READ_DEFAULT_FILE (integer) Read options from the named option file instead of from my.cnf
MYSQLI_OPT_CONNECT_TIMEOUT (integer) Connect timeout in seconds
MYSQLI_OPT_LOCAL_INFILE (integer) Enables command LOAD LOCAL INFILE
MYSQLI_INIT_COMMAND (integer) Command to execute when connecting to MySQL server. Will automatically be re-executed when reconnecting.
MYSQLI_CLIENT_SSL (integer) Use SSL (encrypted protocol). This option should not be set by application programs; it is set internally in the MySQL client library
MYSQLI_CLIENT_COMPRESS (integer) Use compression protocol
MYSQLI_CLIENT_INTERACTIVE (integer) Allow interactive_timeout seconds (instead of wait_timeout seconds) of inactivity before closing the connection. The client's session wait_timeout variable will be set to the value of the session interactive_timeout variable.
MYSQLI_CLIENT_IGNORE_SPACE (integer) Allow spaces after function names. Makes all functions names reserved words.
MYSQLI_CLIENT_NO_SCHEMA (integer) Don't allow the db_name.tbl_name.col_name syntax.
MYSQLI_CLIENT_MULTI_QUERIES (integer)
MYSQLI_STORE_RESULT (integer) For using buffered resultsets
MYSQLI_USE_RESULT (integer) For using unbuffered resultsets
MYSQLI_ASSOC (integer) Columns are returned into the array having the fieldname as the array index.
MYSQLI_NUM (integer) Columns are returned into the array having an enumerated index.
MYSQLI_BOTH (integer) Columns are returned into the array having both a numerical index and the fieldname as the associative index.
MYSQLI_NOT_NULL_FLAG (integer) Indicates that a field is defined as NOT NULL
MYSQLI_PRI_KEY_FLAG (integer) Field is part of a primary index
MYSQLI_UNIQUE_KEY_FLAG (integer) Field is part of a unique index.
MYSQLI_MULTIPLE_KEY_FLAG (integer) Field is part of an index.
MYSQLI_BLOB_FLAG (integer) Field is defined as BLOB
MYSQLI_UNSIGNED_FLAG (integer) Field is defined as UNSIGNED
MYSQLI_ZEROFILL_FLAG (integer) Field is defined as ZEROFILL
MYSQLI_AUTO_INCREMENT_FLAG (integer) Field is defined as AUTO_INCREMENT
MYSQLI_TIMESTAMP_FLAG (integer) Field is defined as TIMESTAMP
MYSQLI_SET_FLAG (integer) Field is defined as SET
MYSQLI_NUM_FLAG (integer) Field is defined as NUMERIC
MYSQLI_PART_KEY_FLAG (integer) Field is part of an multi-index
MYSQLI_GROUP_FLAG (integer) Field is part of GROUP BY
MYSQLI_TYPE_DECIMAL (integer) Field is defined as DECIMAL
MYSQLI_TYPE_NEWDECIMAL (integer) Precision math DECIMAL or NUMERIC field (MySQL 5.0.3 and up)
MYSQLI_TYPE_BIT (integer) Field is defined as BIT (MySQL 5.0.3 and up)
MYSQLI_TYPE_TINY (integer) Field is defined as TINYINT
MYSQLI_TYPE_SHORT (integer) Field is defined as INT
MYSQLI_TYPE_LONG (integer) Field is defined as INT
MYSQLI_TYPE_FLOAT (integer) Field is defined as FLOAT
MYSQLI_TYPE_DOUBLE (integer) Field is defined as DOUBLE
MYSQLI_TYPE_NULL (integer) Field is defined as DEFAULT NULL
MYSQLI_TYPE_TIMESTAMP (integer) Field is defined as TIMESTAMP
MYSQLI_TYPE_LONGLONG (integer) Field is defined as BIGINT
MYSQLI_TYPE_INT24 (integer) Field is defined as MEDIUMINT
MYSQLI_TYPE_DATE (integer) Field is defined as DATE
MYSQLI_TYPE_TIME (integer) Field is defined as TIME
MYSQLI_TYPE_DATETIME (integer) Field is defined as DATETIME
MYSQLI_TYPE_YEAR (integer) Field is defined as YEAR
MYSQLI_TYPE_NEWDATE (integer) Field is defined as DATE
MYSQLI_TYPE_ENUM (integer) Field is defined as ENUM
MYSQLI_TYPE_SET (integer) Field is defined as SET
MYSQLI_TYPE_TINY_BLOB (integer) Field is defined as TINYBLOB
MYSQLI_TYPE_MEDIUM_BLOB (integer) Field is defined as MEDIUMBLOB
MYSQLI_TYPE_LONG_BLOB (integer) Field is defined as LONGBLOB
MYSQLI_TYPE_BLOB (integer) Field is defined as BLOB
MYSQLI_TYPE_VAR_STRING (integer) Field is defined as VARCHAR
MYSQLI_TYPE_STRING (integer) Field is defined as CHAR
MYSQLI_TYPE_GEOMETRY (integer) Field is defined as GEOMETRY
MYSQLI_NEED_DATA (integer) More data available for bind variable
MYSQLI_NO_DATA (integer) No more data available for bind variable
MYSQLI_DATA_TRUNCATED (integer) Data truncation occurred. Available since PHP 5.1.0 and MySQL 5.0.5.

Példák

A MySQLI dokumentáció minden példája a MySQL AB "world" adatbázisát használja. A "world" adatbázis a » http://dev.mysql.com/get/Downloads/Manual/world.sql.gz/from/pick címen tölthető le.

Table of Contents