Spec-Zone .ru
спецификации, руководства, описания, API

22.9.3.9. mysqli class (mysqli)

Copyright 1997-2012 PHP Documentation Group.

Представляет соединение между PHP и базой данных MySQL.

 mysqli {
mysqliProperties int mysqli->affected_rows ;
string mysqli->client_info ;
int mysqli->client_version ;
string mysqli->connect_errno ;
string mysqli->connect_error ;
int mysqli->errno ;
array mysqli->error_list ;
string mysqli->error ;
int mysqli->field_count ;
int mysqli->client_version ;
string mysqli->host_info ;
string mysqli->protocol_version ;
string mysqli->server_info ;
int mysqli->server_version ;
string mysqli->info ;
mixed mysqli->insert_id ;
string mysqli->sqlstate ;
int mysqli->thread_id ;
int mysqli->warning_count ;
Methods mysqli::__construct(string host= =ini_get("mysqli.default_host"),
string username= =ini_get("mysqli.default_user"),
string passwd= =ini_get("mysqli.default_pw"),
string dbname= ="",
int port= =ini_get("mysqli.default_port"),
string socket= =ini_get("mysqli.default_socket"));

bool mysqli::autocommit(bool mode);
bool mysqli::change_user(string user,
string password,
string database);

string mysqli::character_set_name();
bool mysqli::close();
bool mysqli::commit(int flags,
string name);

bool mysqli::debug(string message);
bool mysqli::dump_debug_info();
object mysqli::get_charset();
string mysqli::get_client_info();
bool mysqli::get_connection_stats();
mysqli_warning mysqli::get_warnings();
mysqli mysqli::init();
bool mysqli::kill(int processid);
bool mysqli::more_results();
bool mysqli::multi_query(string query);
bool mysqli::next_result();
bool mysqli::options(int option,
mixed value);

bool mysqli::ping();
public static int mysqli::poll(array read,
array error,
array reject,
int sec,
int usec);

mysqli_stmt mysqli::prepare(string query);
mixed mysqli::query(string query,
int resultmode= =MYSQLI_STORE_RESULT);

bool mysqli::real_connect(string host,
string username,
string passwd,
string dbname,
int port,
string socket,
int flags);

string mysqli::escape_string(string escapestr);
bool mysqli::real_query(string query);
public mysqli_result mysqli::reap_async_query();
public bool mysqli::refresh(int options);
bool mysqli::rollback(int flags,
string name);

int mysqli::rpl_query_type(string query);
bool mysqli::select_db(string dbname);
bool mysqli::send_query(string query);
bool mysqli::set_charset(string charset);
bool mysqli::set_local_infile_handler(mysqli link,
callable read_func);

bool mysqli::ssl_set(string key,
string cert,
string ca,
string capath,
string cipher);

string mysqli::stat();
mysqli_stmt mysqli::stmt_init();
mysqli_result mysqli::store_result();
mysqli_result mysqli::use_result();
}

22.9.3.9.1. mysqli::$affected_rows,mysqli_affected_rows

Copyright 1997-2012 PHP Documentation Group.

  • mysqli::$affected_rows

    mysqli_affected_rows

    Получает число строк, на которые влияют, в предыдущей работе MySQL

Описание

Объектно-ориентированный стиль

int mysqli->affected_rows ;

Процедурный стиль

int mysqli_affected_rows(mysqli link);

Возвращает число строк, на которые влияют последним INSERT, UPDATE, REPLACE или DELETE запрос.

Для операторов SELECT mysqli_affected_rows работы как mysqli_num_rows.

Параметры

link

Процедурный стиль только: идентификатор ссылки, возвращенный mysqli_connect или mysqli_init

Возвращаемые значения

Целое число, больше чем нуль, указывает на число строк, на которые влияют или полученный. Нуль указывает, что никакие записи не были обновлены для оператора UPDATE, никакие строки, соответствующие WHERE пункт в запросе или что никакой запрос еще не был выполнен.-1 указывает что запрос, возвращенный ошибка.

Отметить

Если число строк, на которые влияют, больше чем максимальное целочисленное значение ( PHP_INT_MAX ), число строк, на которые влияют, будет возвращено как строка.

Примеры

Пример 22.106. $mysqli->affected_rows пример

Объектно-ориентированный стиль

<?php$mysqli = new mysqli("localhost", "my_user", "my_password", "world");/* check connection */if (mysqli_connect_errno()) {    printf("Connect failed: %s\n", mysqli_connect_error());    exit();}/* Insert rows */$mysqli->query("CREATE TABLE Language SELECT * from CountryLanguage");printf("Affected rows (INSERT): %d\n", $mysqli->affected_rows);$mysqli->query("ALTER TABLE Language ADD Status int default 0");/* update rows */$mysqli->query("UPDATE Language SET Status=1 WHERE Percentage > 50");printf("Affected rows (UPDATE): %d\n", $mysqli->affected_rows);/* delete rows */$mysqli->query("DELETE FROM Language WHERE Percentage < 50");printf("Affected rows (DELETE): %d\n", $mysqli->affected_rows);/* select all rows */$result = $mysqli->query("SELECT CountryCode FROM Language");printf("Affected rows (SELECT): %d\n", $mysqli->affected_rows);$result->close();/* Delete table Language */$mysqli->query("DROP TABLE Language");/* close connection */$mysqli->close();?>   

Процедурный стиль

<?php$link = mysqli_connect("localhost", "my_user", "my_password", "world");if (!$link) {    printf("Can't connect to localhost. Error: %s\n", mysqli_connect_error());    exit();}/* Insert rows */mysqli_query($link, "CREATE TABLE Language SELECT * from CountryLanguage");printf("Affected rows (INSERT): %d\n", mysqli_affected_rows($link));mysqli_query($link, "ALTER TABLE Language ADD Status int default 0");/* update rows */mysqli_query($link, "UPDATE Language SET Status=1 WHERE Percentage > 50");printf("Affected rows (UPDATE): %d\n", mysqli_affected_rows($link));/* delete rows */mysqli_query($link, "DELETE FROM Language WHERE Percentage < 50");printf("Affected rows (DELETE): %d\n", mysqli_affected_rows($link));/* select all rows */$result = mysqli_query($link, "SELECT CountryCode FROM Language");printf("Affected rows (SELECT): %d\n", mysqli_affected_rows($link));mysqli_free_result($result);/* Delete table Language */mysqli_query($link, "DROP TABLE Language");/* close connection */mysqli_close($link);?>   

Вышеупомянутые примеры выведут:

Affected rows (INSERT): 984Affected rows (UPDATE): 168Affected rows (DELETE): 815Affected rows (SELECT): 169

См. Также

mysqli_num_rows
mysqli_info

22.9.3.9.2. mysqli::autocommit,mysqli_autocommit

Copyright 1997-2012 PHP Documentation Group.

  • mysqli::autocommit

    mysqli_autocommit

    Включает или выключает модификации базы данных автоматической фиксации

Описание

Объектно-ориентированный стиль

bool mysqli::autocommit(bool mode);

Процедурный стиль

bool mysqli_autocommit(mysqli link,
bool mode);

Включает или выключает режим автоматической фиксации на запросах для соединения с базой данных.

Чтобы определить текущее состояние автоматической фиксации используют команду SQL SELECT @@autocommit.

Параметры

link

Процедурный стиль только: идентификатор ссылки, возвращенный mysqli_connect или mysqli_init

mode

Включить ли автоматическую фиксацию или нет.

Возвращаемые значения

Возвраты TRUE на успехе или FALSE при отказе.

Примечания

Отметить

Эта функция не работает с не транзакционные табличные типы (как MyISAM или ИСАМ).

Примеры

Пример 22.107. mysqli::autocommitпример

Объектно-ориентированный стиль

<?php$mysqli = new mysqli("localhost", "my_user", "my_password", "world");if (mysqli_connect_errno()) {    printf("Connect failed: %s\n", mysqli_connect_error());    exit();}/* turn autocommit on */$mysqli->autocommit(TRUE);if ($result = $mysqli->query("SELECT @@autocommit")) {    $row = $result->fetch_row();    printf("Autocommit is %s\n", $row[0]);    $result->free();}/* close connection */$mysqli->close();?>   

Процедурный стиль

<?php$link = mysqli_connect("localhost", "my_user", "my_password", "world");if (!$link) {    printf("Can't connect to localhost. Error: %s\n", mysqli_connect_error());    exit();}/* turn autocommit on */mysqli_autocommit($link, TRUE);if ($result = mysqli_query($link, "SELECT @@autocommit")) {    $row = mysqli_fetch_row($result);    printf("Autocommit is %s\n", $row[0]);    mysqli_free_result($result);}/* close connection */mysqli_close($link);?>   

Вышеупомянутые примеры выведут:

Autocommit is 1

См. Также

mysqli_begin_transaction
mysqli_commit
mysqli_rollback

22.9.3.9.3. mysqli::begin_transaction,mysqli_begin_transaction

Copyright 1997-2012 PHP Documentation Group.

  • mysqli::begin_transaction

    mysqli_begin_transaction

    Запускает транзакцию

Описание

Объектно-ориентированный стиль (метод):

public bool mysqli::begin_transaction(int flags,
string name);

Процедурный стиль:

bool mysqli_begin_transaction(mysqli link,
int flags,
string name);

Предупреждение

Эта функция iscurrently не задокументированный; только его список параметров доступен.

Параметры

link

Процедурный стиль только: идентификатор ссылки, возвращенный mysqli_connect или mysqli_init

flags

name

Возвращаемые значения

Возвраты TRUE на успехе или FALSE при отказе.

См. Также

mysqli_autocommit
mysqli_commit
mysqli_rollback

22.9.3.9.4. mysqli::change_user,mysqli_change_user

Copyright 1997-2012 PHP Documentation Group.

  • mysqli::change_user

    mysqli_change_user

    Изменяет пользователя указанного соединения с базой данных

Описание

Объектно-ориентированный стиль

bool mysqli::change_user(string user,
string password,
string database);

Процедурный стиль

bool mysqli_change_user(mysqli link,
string user,
string password,
string database);

Изменяет пользователя указанного соединения с базой данных и устанавливает текущую базу данных.

Чтобы успешно изменить пользователей допустимое username и password параметры должны быть обеспечены, и у того пользователя должны быть достаточные полномочия, чтобы получить доступ к требуемой базе данных. Если по какой-либо причине сбои авторизации, текущая пользовательская аутентификация останется.

Параметры

link

Процедурный стиль только: идентификатор ссылки, возвращенный mysqli_connect или mysqli_init

user

Имя пользователя MySQL.

password

Пароль MySQL.

database

База данных, чтобы измениться на.

При желании, NULL значение можно передать, приводя к только изменению пользователя и не выбору базы данных. Чтобы выбрать базу данных в этом случае используют mysqli_select_db функция.

Возвращаемые значения

Возвраты TRUE на успехе или FALSE при отказе.

Примечания

Отметить

Используя эту команду будет всегда заставлять текущее соединение с базой данных вести себя, как будто было абсолютно новое соединение с базой данных, независимо от того, если работа была завершена успешно. Этот сброс включает выполнение отката на любых активных транзакциях, закрытие всех временных таблиц, и разблокирование всех заблокированных таблиц.

Примеры

Пример 22.108. mysqli::change_userпример

Объектно-ориентированный стиль

<?php/* connect database test */$mysqli = new mysqli("localhost", "my_user", "my_password", "test");/* check connection */if (mysqli_connect_errno()) {    printf("Connect failed: %s\n", mysqli_connect_error());    exit();}/* Set Variable a */$mysqli->query("SET @a:=1");/* reset all and select a new database */$mysqli->change_user("my_user", "my_password", "world");if ($result = $mysqli->query("SELECT DATABASE()")) {    $row = $result->fetch_row();    printf("Default database: %s\n", $row[0]);    $result->close();}if ($result = $mysqli->query("SELECT @a")) {    $row = $result->fetch_row();    if ($row[0] === NULL) {        printf("Value of variable a is NULL\n");    }    $result->close();}/* close connection */$mysqli->close();?>   

Процедурный стиль

<?php/* connect database test */$link = mysqli_connect("localhost", "my_user", "my_password", "test");/* check connection */if (!$link) {    printf("Connect failed: %s\n", mysqli_connect_error());    exit();}/* Set Variable a */mysqli_query($link, "SET @a:=1");/* reset all and select a new database */mysqli_change_user($link, "my_user", "my_password", "world");if ($result = mysqli_query($link, "SELECT DATABASE()")) {    $row = mysqli_fetch_row($result);    printf("Default database: %s\n", $row[0]);    mysqli_free_result($result);}if ($result = mysqli_query($link, "SELECT @a")) {    $row = mysqli_fetch_row($result);    if ($row[0] === NULL) {        printf("Value of variable a is NULL\n");    }    mysqli_free_result($result);}/* close connection */mysqli_close($link);?>   

Вышеупомянутые примеры выведут:

Default database: worldValue of variable a is NULL

См. Также

mysqli_connect
mysqli_select_db

22.9.3.9.5. mysqli::character_set_name,mysqli_character_set_name

Copyright 1997-2012 PHP Documentation Group.

  • mysqli::character_set_name

    mysqli_character_set_name

    Возвращает набор символов значения по умолчанию для соединения с базой данных

Описание

Объектно-ориентированный стиль

string mysqli::character_set_name();

Процедурный стиль

string mysqli_character_set_name(mysqli link);

Возвращает текущий набор символов для соединения с базой данных.

Параметры

link

Процедурный стиль только: идентификатор ссылки, возвращенный mysqli_connect или mysqli_init

Возвращаемые значения

Набор символов значения по умолчанию для текущего соединения

Примеры

Пример 22.109. mysqli::character_set_nameпример

Объектно-ориентированный стиль

<?php/* Open a connection */$mysqli = new mysqli("localhost", "my_user", "my_password", "world");/* check connection */if (mysqli_connect_errno()) {    printf("Connect failed: %s\n", mysqli_connect_error());    exit();}/* Print current character set */$charset = $mysqli->character_set_name();printf ("Current character set is %s\n", $charset);$mysqli->close();?>   

Процедурный стиль

<?php/* Open a connection */$link = mysqli_connect("localhost", "my_user", "my_password", "world");/* check connection */if (!$link) {    printf("Connect failed: %s\n", mysqli_connect_error());    exit();}/* Print current character set */$charset = mysqli_character_set_name($link);printf ("Current character set is %s\n",$charset);/* close connection */mysqli_close($link);?>   

Вышеупомянутые примеры выведут:

Current character set is latin1_swedish_ci

См. Также

mysqli_set_charset
mysqli_client_encoding
mysqli_real_escape_string

22.9.3.9.6. mysqli::$client_info,mysqli_get_client_info

Copyright 1997-2012 PHP Documentation Group.

  • mysqli::$client_info

    mysqli_get_client_info

    Получите клиентскую информацию MySQL

Описание

Объектно-ориентированный стиль

string mysqli->client_info ;

Процедурный стиль

string mysqli_get_client_info(mysqli link);

Возвращает строку, которая представляет клиентскую версию библиотеки MySQL.

Возвращаемые значения

Строка, которая представляет клиентскую версию библиотеки MySQL

Примеры

Пример 22.110. mysqli_get_client_info

<?php/* We don't need a connection to determine   the version of mysql client library */printf("Client library version: %s\n", mysqli_get_client_info());?>

См. Также

mysqli_get_client_version
mysqli_get_server_info
mysqli_get_server_version

22.9.3.9.7. mysqli::$client_version,mysqli_get_client_version

Copyright 1997-2012 PHP Documentation Group.

  • mysqli::$client_version

    mysqli_get_client_version

    Возвращает клиентскую версию MySQL как строку

Описание

Объектно-ориентированный стиль

int mysqli->client_version ;

Процедурный стиль

int mysqli_get_client_version(mysqli link);

Клиентский номер версии возвратов как целое число.

Возвращаемые значения

Число, которое представляет клиентскую версию библиотеки MySQL в формате: main_version*10000 + minor_version *100 + sub_version. Например, 4.1.0 возвращается как 40100.

Это полезно, чтобы быстро определить версию клиентской библиотеки, чтобы знать, существует ли некоторая возможность.

Примеры

Пример 22.111. mysqli_get_client_version

<?php/* We don't need a connection to determine   the version of mysql client library */printf("Client library version: %d\n", mysqli_get_client_version());?>

См. Также

mysqli_get_client_info
mysqli_get_server_info
mysqli_get_server_version

22.9.3.9.8. mysqli::close, mysqli_close

Copyright 1997-2012 PHP Documentation Group.

  • mysqli::close

    mysqli_close

    Закрывает ранее открытое соединение с базой данных

Описание

Объектно-ориентированный стиль

bool mysqli::close();

Процедурный стиль

bool mysqli_close(mysqli link);

Закрывает ранее открытое соединение с базой данных.

Параметры

link

Процедурный стиль только: идентификатор ссылки, возвращенный mysqli_connect или mysqli_init

Возвращаемые значения

Возвраты TRUE на успехе или FALSE при отказе.

Примеры

См. mysqli_connect.

См. Также

mysqli::__construct
mysqli_init
mysqli_real_connect

22.9.3.9.9. mysqli::commit, mysqli_commit

Copyright 1997-2012 PHP Documentation Group.

  • mysqli::commit

    mysqli_commit

    Фиксирует текущую транзакцию

Описание

Объектно-ориентированный стиль

bool mysqli::commit(int flags,
string name);

Процедурный стиль

bool mysqli_commit(mysqli link,
int flags,
string name);

Фиксирует текущую транзакцию для соединения с базой данных.

Параметры

link

Процедурный стиль только: идентификатор ссылки, возвращенный mysqli_connect или mysqli_init

flags

Битовая маска MYSQLI_TRANS_COR_* константы.

name

Если обеспечено тогда COMMIT/*name*/ выполняется.

Возвращаемые значения

Возвраты TRUE на успехе или FALSE при отказе.

Журнал изменений

Версия Описание
5.5.0 Добавленный flags и nameпараметры.

Примеры

Пример 22.112. mysqli::commitпример

Объектно-ориентированный стиль

<?php$mysqli = new mysqli("localhost", "my_user", "my_password", "world");/* check connection */if (mysqli_connect_errno()) {    printf("Connect failed: %s\n", mysqli_connect_error());    exit();}$mysqli->query("CREATE TABLE Language LIKE CountryLanguage");/* set autocommit to off */$mysqli->autocommit(FALSE);/* Insert some values */$mysqli->query("INSERT INTO Language VALUES ('DEU', 'Bavarian', 'F', 11.2)");$mysqli->query("INSERT INTO Language VALUES ('DEU', 'Swabian', 'F', 9.4)");/* commit transaction */$mysqli->commit();/* drop table */$mysqli->query("DROP TABLE Language");/* close connection */$mysqli->close();?>   

Процедурный стиль

<?php$link = mysqli_connect("localhost", "my_user", "my_password", "test");/* check connection */if (!$link) {    printf("Connect failed: %s\n", mysqli_connect_error());    exit();}/* set autocommit to off */mysqli_autocommit($link, FALSE);mysqli_query($link, "CREATE TABLE Language LIKE CountryLanguage");/* Insert some values */mysqli_query($link, "INSERT INTO Language VALUES ('DEU', 'Bavarian', 'F', 11.2)");mysqli_query($link, "INSERT INTO Language VALUES ('DEU', 'Swabian', 'F', 9.4)");/* commit transaction */mysqli_commit($link);/* close connection */mysqli_close($link);?>

См. Также

mysqli_autocommit
mysqli_begin_transaction
mysqli_rollback
mysqli_savepoint

22.9.3.9.10. mysqli::$connect_errno,mysqli_connect_errno

Copyright 1997-2012 PHP Documentation Group.

  • mysqli::$connect_errno

    mysqli_connect_errno

    Возвращается код ошибки от последнего соединяют вызов

Описание

Объектно-ориентированный стиль

string mysqli->connect_errno ;

Процедурный стиль

int mysqli_connect_errno();

Возвращает последнее число кода ошибки от последней возможности до mysqli_connect.

Отметить

Клиентские числа сообщения об ошибке перечисляются в MySQL errmsg.h заголовочный файл, числа сообщения об ошибке сервера перечисляются в mysqld_error.h. В исходном распределении MySQL можно найти полный список сообщений об ошибках и кодов ошибки в файле Docs/mysqld_error.txt.

Возвращаемые значения

Значение кода ошибки для последней возможности к mysqli_connect, если это перестало работать. обнулите означает, что никакая ошибка не произошла.

Примеры

Пример 22.113. $mysqli->connect_errno пример

Объектно-ориентированный стиль

<?php$mysqli = @new mysqli('localhost', 'fake_user', 'my_password', 'my_db');if ($mysqli->connect_errno) {    die('Connect Error: ' . $mysqli->connect_errno);}?>   

Процедурный стиль

<?php$link = @mysqli_connect('localhost', 'fake_user', 'my_password', 'my_db');if (!$link) {    die('Connect Error: ' . mysqli_connect_errno());}?>   

Вышеупомянутые примеры выведут:

Connect Error: 1045

См. Также

mysqli_connect
mysqli_connect_error
mysqli_errno
mysqli_error
mysqli_sqlstate

22.9.3.9.11. mysqli::$connect_error,mysqli_connect_error

Copyright 1997-2012 PHP Documentation Group.

  • mysqli::$connect_error

    mysqli_connect_error

    Возвращается строковое описание последнего соединяют ошибку

Описание

Объектно-ориентированный стиль

string mysqli->connect_error ;

Процедурный стиль

string mysqli_connect_error();

Возвращает последнюю строку сообщения об ошибке от последней возможности до mysqli_connect.

Возвращаемые значения

Строка, которая описывает ошибку. NULL возвращается, если никакая ошибка не произошла.

Примеры

Пример 22.114. $mysqli->connect_error пример

Объектно-ориентированный стиль

<?php$mysqli = @new mysqli('localhost', 'fake_user', 'my_password', 'my_db');// Works as of PHP 5.2.9 and 5.3.0.if ($mysqli->connect_error) {    die('Connect Error: ' . $mysqli->connect_error);}?>   

Процедурный стиль

<?php$link = @mysqli_connect('localhost', 'fake_user', 'my_password', 'my_db');if (!$link) {    die('Connect Error: ' . mysqli_connect_error());}?>   

Вышеупомянутые примеры выведут:

Connect Error: Access denied for user 'fake_user'@'localhost' (using password: YES)

Примечания

Предупреждение

mysqli-> connect_error свойство только работает должным образом с версий 5.2.9 и 5.3.0 PHP. Используйте mysqli_connect_error функционируйте, если совместимость с ранее версиями PHP требуется.

См. Также

mysqli_connect
mysqli_connect_errno
mysqli_errno
mysqli_error
mysqli_sqlstate

22.9.3.9.12. mysqli::__construct,mysqli_connect

Copyright 1997-2012 PHP Documentation Group.

  • mysqli::__construct

    mysqli_connect

    Откройте новое соединение с сервером MySQL

Описание

Объектно-ориентированный стиль

mysqli::__construct(string host= =ini_get("mysqli.default_host"),
string username= =ini_get("mysqli.default_user"),
string passwd= =ini_get("mysqli.default_pw"),
string dbname= ="",
int port= =ini_get("mysqli.default_port"),
string socket= =ini_get("mysqli.default_socket"));

Процедурный стиль

mysqli mysqli_connect(string host= =ini_get("mysqli.default_host"),
string username= =ini_get("mysqli.default_user"),
string passwd= =ini_get("mysqli.default_pw"),
string dbname= ="",
int port= =ini_get("mysqli.default_port"),
string socket= =ini_get("mysqli.default_socket"));

Открывает соединение с работой MySQL Server.

Параметры

host

Может быть или имя хоста или IP-адрес. Передача NULL значение или строка "localhost" к этому параметру, локальный узел принимается. Когда возможный, каналы будут использоваться вместо протокола TCP/IP.

Узел предна ожидании p: открывает персистентное соединение. mysqli_change_user автоматически вызывается на соединениях, открытых от пула соединения.

username

Имя пользователя MySQL.

passwd

Если не обеспеченный или NULL , сервер MySQL попытается аутентифицировать пользователя против тех пользовательских записей, у которых нет никакого пароля только. Это позволяет одному имени пользователя использоваться с различными полномочиями (в зависимости от если пароль как предусмотрено или не).

dbname

Если обеспечено определит базу данных значения по умолчанию, которая будет использоваться, выполняя запросы.

port

Определяет номер порта, чтобы попытаться соединиться с сервером MySQL.

socket

Определяет сокет или именованный канал, который должен использоваться.

Отметить

Определение socket параметр не будет явно определять тип соединения, которое будет использоваться, соединяясь с сервером MySQL. То, как соединение делается к базе данных MySQL, определяется host параметр.

Возвращаемые значения

Возвращает объект, который представляет соединение с MySQL Server.

Журнал изменений

Версия Описание
5.3.0 Добавленный возможность персистентных соединений.

Примеры

Пример 22.115. mysqli::__constructпример

Объектно-ориентированный стиль

<?php$mysqli = new mysqli('localhost', 'my_user', 'my_password', 'my_db');/* * This is the "official" OO way to do it, * BUT $connect_error was broken until PHP 5.2.9 and 5.3.0. */if ($mysqli->connect_error) {    die('Connect Error (' . $mysqli->connect_errno . ') '            . $mysqli->connect_error);}/* * Use this instead of $connect_error if you need to ensure * compatibility with PHP versions prior to 5.2.9 and 5.3.0. */if (mysqli_connect_error()) {    die('Connect Error (' . mysqli_connect_errno() . ') '            . mysqli_connect_error());}echo 'Success... ' . $mysqli->host_info . "\n";$mysqli->close();?>   

Объектно-ориентированный стиль, расширяясь mysqli class

<?phpclass foo_mysqli extends mysqli {    public function __construct($host, $user, $pass, $db) {        parent::__construct($host, $user, $pass, $db);        if (mysqli_connect_error()) {            die('Connect Error (' . mysqli_connect_errno() . ') '                    . mysqli_connect_error());        }    }}$db = new foo_mysqli('localhost', 'my_user', 'my_password', 'my_db');echo 'Success... ' . $db->host_info . "\n";$db->close();?>   

Процедурный стиль

<?php$link = mysqli_connect('localhost', 'my_user', 'my_password', 'my_db');if (!$link) {    die('Connect Error (' . mysqli_connect_errno() . ') '            . mysqli_connect_error());}echo 'Success... ' . mysqli_get_host_info($link) . "\n";mysqli_close($link);?>   

Вышеупомянутые примеры выведут:

Success... MySQL host info: localhost via TCP/IP

Примечания

Отметить

MySQLnd всегда принимает набор символов значения по умолчанию сервера. Этот набор символов отправляется во время рукопожатия/аутентификации соединения, которое будет использовать mysqlnd.

Либмискльклиан использует набор набора символов значения по умолчанию my.cnf или явным звонком mysqli_options до вызова mysqli_real_connect, но после mysqli_init.

Отметить

Синтаксис OO только: Если связь прерывается, объект все еще возвращается. Проверять, использует ли соединение, отказавшее тогда, любого mysqli_connect_error функционируйте или mysqli-> connect_error свойство как в предыдущих примерах.

Отметить

Если необходимо установить опции, такие как тайм-аут соединения, mysqli_real_connect должен использоваться вместо этого.

Отметить

Вызов конструктора без параметров является тем же самым как вызовом mysqli_init.

Отметить

Ошибка "Не может создать сокет (10106) TCP/IP", обычно означает, что variables_order конфигурируют направляющий, не содержит символ E. На Windows, если среда не копируется SYSTEMROOT переменная окружения не будет доступна, и у PHP будут проблемы, загружая Winsock.

См. Также

mysqli_real_connect
mysqli_options
mysqli_connect_errno
mysqli_connect_error
mysqli_close

22.9.3.9.13. mysqli::debug, mysqli_debug

Copyright 1997-2012 PHP Documentation Group.

  • mysqli::debug

    mysqli_debug

    Выполняет операции отладки

Описание

Объектно-ориентированный стиль

bool mysqli::debug(string message);

Процедурный стиль

bool mysqli_debug(string message);

Выполняет операции отладки, пользующиеся Фредом Фишем, отлаживающим библиотеку.

Параметры

message

Строка, представляющая работу отладки, чтобы выполнить

Возвращаемые значения

Возвраты TRUE .

Примечания

Отметить

Использовать mysqli_debug функция следует скомпилировать клиентскую библиотеку MySQL, чтобы поддерживать отладку.

Примеры

Пример 22.116. Генерирование Файла трассировки

<?php/* Create a trace file in '/tmp/client.trace' on the local (client) machine: */mysqli_debug("d:t:o,/tmp/client.trace");?>

См. Также

mysqli_dump_debug_info
mysqli_report

22.9.3.9.14. mysqli::dump_debug_info,mysqli_dump_debug_info

Copyright 1997-2012 PHP Documentation Group.

  • mysqli::dump_debug_info

    mysqli_dump_debug_info

    Выведите отладочную информацию в журнал

Описание

Объектно-ориентированный стиль

bool mysqli::dump_debug_info();

Процедурный стиль

bool mysqli_dump_debug_info(mysqli link);

Эта функция разрабатывается, чтобы быть выполненной пользователем с полномочием ВЫСШЕГО КАЧЕСТВА и используется, чтобы вывести отладочную информацию в журнал для MySQL Server, касающегося соединения.

Параметры

link

Процедурный стиль только: идентификатор ссылки, возвращенный mysqli_connect или mysqli_init

Возвращаемые значения

Возвраты TRUE на успехе или FALSE при отказе.

См. Также

mysqli_debug

22.9.3.9.15. mysqli::$errno, mysqli_errno

Copyright 1997-2012 PHP Documentation Group.

  • mysqli::$errno

    mysqli_errno

    Возвращает код ошибки для нового вызова функции

Описание

Объектно-ориентированный стиль

int mysqli->errno ;

Процедурный стиль

int mysqli_errno(mysqli link);

Возвращает последний код ошибки для нового вызова функции MySQLi, который может успешно выполниться или перестать работать.

Клиентские числа сообщения об ошибке перечисляются в MySQL errmsg.h заголовочный файл, числа сообщения об ошибке сервера перечисляются в mysqld_error.h. В исходном распределении MySQL можно найти полный список сообщений об ошибках и кодов ошибки в файле Docs/mysqld_error.txt.

Параметры

link

Процедурный стиль только: идентификатор ссылки, возвращенный mysqli_connect или mysqli_init

Возвращаемые значения

Значение кода ошибки для последней возможности, если это перестало работать. обнулите означает, что никакая ошибка не произошла.

Примеры

Пример 22.117. $mysqli->errno пример

Объектно-ориентированный стиль

<?php$mysqli = new mysqli("localhost", "my_user", "my_password", "world");/* check connection */if ($mysqli->connect_errno) {    printf("Connect failed: %s\n", $mysqli->connect_error);    exit();}if (!$mysqli->query("SET a=1")) {    printf("Errorcode: %d\n", $mysqli->errno);}/* close connection */$mysqli->close();?>   

Процедурный стиль

<?php$link = mysqli_connect("localhost", "my_user", "my_password", "world");/* check connection */if (mysqli_connect_errno()) {    printf("Connect failed: %s\n", mysqli_connect_error());    exit();}if (!mysqli_query($link, "SET a=1")) {    printf("Errorcode: %d\n", mysqli_errno($link));}/* close connection */mysqli_close($link);?>   

Вышеупомянутые примеры выведут:

Errorcode: 1193

См. Также

mysqli_connect_errno
mysqli_connect_error
mysqli_error
mysqli_sqlstate

22.9.3.9.16. mysqli::$error_list,mysqli_error_list

Copyright 1997-2012 PHP Documentation Group.

  • mysqli::$error_list

    mysqli_error_list

    Возвращает список ошибок от последней выполняемой команды

Описание

Объектно-ориентированный стиль

array mysqli->error_list ;

Процедурный стиль

array mysqli_error_list(mysqli link);

Возвращает массив ошибок для нового вызова функции MySQLi, который может успешно выполниться или перестать работать.

Параметры

link

Процедурный стиль только: идентификатор ссылки, возвращенный mysqli_connect или mysqli_init

Возвращаемые значения

Список ошибок, каждый как ассоциативный массив, содержащий errno, ошибку, и sqlstate.

Примеры

Пример 22.118. $mysqli->error_list пример

Объектно-ориентированный стиль

<?php$mysqli = new mysqli("localhost", "nobody", "");/* check connection */if (mysqli_connect_errno()) {    printf("Connect failed: %s\n", mysqli_connect_error());    exit();}if (!$mysqli->query("SET a=1")) {    print_r($mysqli->error_list);}/* close connection */$mysqli->close();?>   

Процедурный стиль

<?php$link = mysqli_connect("localhost", "my_user", "my_password", "world");/* check connection */if (mysqli_connect_errno()) {    printf("Connect failed: %s\n", mysqli_connect_error());    exit();}if (!mysqli_query($link, "SET a=1")) {    print_r(mysqli_error_list($link));}/* close connection */mysqli_close($link);?>   

Вышеупомянутые примеры выведут:

Array(    [0] => Array        (            [errno] => 1193            [sqlstate] => HY000            [error] => Unknown system variable 'a'        ))

См. Также

mysqli_connect_errno
mysqli_connect_error
mysqli_error
mysqli_sqlstate

22.9.3.9.17. mysqli::$error, mysqli_error

Copyright 1997-2012 PHP Documentation Group.

  • mysqli::$error

    mysqli_error

    Возвращает строковое описание последней ошибки

Описание

Объектно-ориентированный стиль

string mysqli->error ;

Процедурный стиль

string mysqli_error(mysqli link);

Возвращает последнее сообщение об ошибке для нового вызова функции MySQLi, который может успешно выполниться или перестать работать.

Параметры

link

Процедурный стиль только: идентификатор ссылки, возвращенный mysqli_connect или mysqli_init

Возвращаемые значения

Строка, которая описывает ошибку. Пустая строка, если никакая ошибка не произошла.

Примеры

Пример 22.119. $mysqli->error пример

Объектно-ориентированный стиль

<?php$mysqli = new mysqli("localhost", "my_user", "my_password", "world");/* check connection */if ($mysqli->connect_errno) {    printf("Connect failed: %s\n", $mysqli->connect_error);    exit();}if (!$mysqli->query("SET a=1")) {    printf("Errormessage: %s\n", $mysqli->error);}/* close connection */$mysqli->close();?>   

Процедурный стиль

<?php$link = mysqli_connect("localhost", "my_user", "my_password", "world");/* check connection */if (mysqli_connect_errno()) {    printf("Connect failed: %s\n", mysqli_connect_error());    exit();}if (!mysqli_query($link, "SET a=1")) {    printf("Errormessage: %s\n", mysqli_error($link));}/* close connection */mysqli_close($link);?>   

Вышеупомянутые примеры выведут:

Errormessage: Unknown system variable 'a'

См. Также

mysqli_connect_errno
mysqli_connect_error
mysqli_errno
mysqli_sqlstate

22.9.3.9.18. mysqli::$field_count,mysqli_field_count

Copyright 1997-2012 PHP Documentation Group.

  • mysqli::$field_count

    mysqli_field_count

    Возвращает число столбцов для нового запроса

Описание

Объектно-ориентированный стиль

int mysqli->field_count ;

Процедурный стиль

int mysqli_field_count(mysqli link);

Возвращает число столбцов для нового запроса на соединении, представленном link параметр. Эта функция может быть полезной при использовании mysqli_store_result функция определить, должен ли запрос был произвести непустой набор результатов или не зная природу запроса.

Параметры

link

Процедурный стиль только: идентификатор ссылки, возвращенный mysqli_connect или mysqli_init

Возвращаемые значения

Целое число, представляющее число полей в наборе результатов.

Примеры

Пример 22.120. $mysqli->field_count пример

Объектно-ориентированный стиль

<?php$mysqli = new mysqli("localhost", "my_user", "my_password", "test");$mysqli->query( "DROP TABLE IF EXISTS friends");$mysqli->query( "CREATE TABLE friends (id int, name varchar(20))");$mysqli->query( "INSERT INTO friends VALUES (1,'Hartmut'), (2, 'Ulf')");$mysqli->real_query("SELECT * FROM friends");if ($mysqli->field_count) {    /* this was a select/show or describe query */    $result = $mysqli->store_result();    /* process resultset */    $row = $result->fetch_row();    /* free resultset */    $result->close();}/* close connection */$mysqli->close();?>   

Процедурный стиль

<?php$link = mysqli_connect("localhost", "my_user", "my_password", "test");mysqli_query($link, "DROP TABLE IF EXISTS friends");mysqli_query($link, "CREATE TABLE friends (id int, name varchar(20))");mysqli_query($link, "INSERT INTO friends VALUES (1,'Hartmut'), (2, 'Ulf')");mysqli_real_query($link, "SELECT * FROM friends");if (mysqli_field_count($link)) {    /* this was a select/show or describe query */    $result = mysqli_store_result($link);    /* process resultset */    $row = mysqli_fetch_row($result);    /* free resultset */    mysqli_free_result($result);}/* close connection */mysqli_close($link);?>

22.9.3.9.19. mysqli::get_charset,mysqli_get_charset

Copyright 1997-2012 PHP Documentation Group.

  • mysqli::get_charset

    mysqli_get_charset

    Возвращает объект набора символов

Описание

Объектно-ориентированный стиль

object mysqli::get_charset();

Процедурный стиль

object mysqli_get_charset(mysqli link);

Возвращает объект набора символов обеспечение нескольких свойств текущего активного набора символов.

Параметры

link

Процедурный стиль только: идентификатор ссылки, возвращенный mysqli_connect или mysqli_init

Возвращаемые значения

Функция возвращает объект набора символов со следующими свойствами:

charset

Имя набора символов

collation

Имя сопоставления

dir

Каталог описание набора символов был выбран от(?) или "" для встроенных наборов символов

min_length

Минимальная символьная длина в байтах

max_length

Максимальная символьная длина в байтах

number

Внутреннее число набора символов

state

Состояние (?) набора символов

Примеры

Пример 22.121. mysqli::get_charsetпример

Объектно-ориентированный стиль

<?php  $db = mysqli_init();  $db->real_connect("localhost","root","","test");  var_dump($db->get_charset());?>   

Процедурный стиль

<?php  $db = mysqli_init();  mysqli_real_connect($db, "localhost","root","","test");  var_dump($db->get_charset());?>   

Вышеупомянутые примеры выведут:

object(stdClass)#2 (7) {  ["charset"]=>  string(6) "latin1"  ["collation"]=>  string(17) "latin1_swedish_ci"  ["dir"]=>  string(0) ""  ["min_length"]=>  int(1)  ["max_length"]=>  int(1)  ["number"]=>  int(8)  ["state"]=>  int(801)}

См. Также

mysqli_character_set_name
mysqli_set_charset

22.9.3.9.20. mysqli::get_client_info,mysqli_get_client_info

Copyright 1997-2012 PHP Documentation Group.

  • mysqli::get_client_info

    mysqli_get_client_info

    Получите клиентскую информацию MySQL

Описание

Объектно-ориентированный стиль

string mysqli::get_client_info();

Процедурный стиль

string mysqli_get_client_info(mysqli link);

Возвращает строку, которая представляет клиентскую версию библиотеки MySQL.

Возвращаемые значения

Строка, которая представляет клиентскую версию библиотеки MySQL

Примеры

Пример 22.122. mysqli_get_client_info

<?php/* We don't need a connection to determine   the version of mysql client library */printf("Client library version: %s\n", mysqli_get_client_info());?>

См. Также

mysqli_get_client_version
mysqli_get_server_info
mysqli_get_server_version

22.9.3.9.21. mysqli_get_client_stats

Copyright 1997-2012 PHP Documentation Group.

  • mysqli_get_client_stats

    Клиент возвратов статистика для каждого процесса

Описание

array mysqli_get_client_stats();

Клиент возвратов статистика для каждого процесса. Доступный только с mysqlnd.

Параметры

Возвращаемые значения

Возвращает массив с клиентом stats если успех, FALSE иначе.

Примеры

Пример 22.123. A mysqli_get_client_statsпример

<?php$link = mysqli_connect();print_r(mysqli_get_client_stats());?>    

Вышеупомянутый пример выведет что-то подобное:

Array(    [bytes_sent] => 43    [bytes_received] => 80    [packets_sent] => 1    [packets_received] => 2    [protocol_overhead_in] => 8    [protocol_overhead_out] => 4    [bytes_received_ok_packet] => 11    [bytes_received_eof_packet] => 0    [bytes_received_rset_header_packet] => 0    [bytes_received_rset_field_meta_packet] => 0    [bytes_received_rset_row_packet] => 0    [bytes_received_prepare_response_packet] => 0    [bytes_received_change_user_packet] => 0    [packets_sent_command] => 0    [packets_received_ok] => 1    [packets_received_eof] => 0    [packets_received_rset_header] => 0    [packets_received_rset_field_meta] => 0    [packets_received_rset_row] => 0    [packets_received_prepare_response] => 0    [packets_received_change_user] => 0    [result_set_queries] => 0    [non_result_set_queries] => 0    [no_index_used] => 0    [bad_index_used] => 0    [slow_queries] => 0    [buffered_sets] => 0    [unbuffered_sets] => 0    [ps_buffered_sets] => 0    [ps_unbuffered_sets] => 0    [flushed_normal_sets] => 0    [flushed_ps_sets] => 0    [ps_prepared_never_executed] => 0    [ps_prepared_once_executed] => 0    [rows_fetched_from_server_normal] => 0    [rows_fetched_from_server_ps] => 0    [rows_buffered_from_client_normal] => 0    [rows_buffered_from_client_ps] => 0    [rows_fetched_from_client_normal_buffered] => 0    [rows_fetched_from_client_normal_unbuffered] => 0    [rows_fetched_from_client_ps_buffered] => 0    [rows_fetched_from_client_ps_unbuffered] => 0    [rows_fetched_from_client_ps_cursor] => 0    [rows_skipped_normal] => 0    [rows_skipped_ps] => 0    [copy_on_write_saved] => 0    [copy_on_write_performed] => 0    [command_buffer_too_small] => 0    [connect_success] => 1    [connect_failure] => 0    [connection_reused] => 0    [reconnect] => 0    [pconnect_success] => 0    [active_connections] => 1    [active_persistent_connections] => 0    [explicit_close] => 0    [implicit_close] => 0    [disconnect_close] => 0    [in_middle_of_command_close] => 0    [explicit_free_result] => 0    [implicit_free_result] => 0    [explicit_stmt_close] => 0    [implicit_stmt_close] => 0    [mem_emalloc_count] => 0    [mem_emalloc_ammount] => 0    [mem_ecalloc_count] => 0    [mem_ecalloc_ammount] => 0    [mem_erealloc_count] => 0    [mem_erealloc_ammount] => 0    [mem_efree_count] => 0    [mem_malloc_count] => 0    [mem_malloc_ammount] => 0    [mem_calloc_count] => 0    [mem_calloc_ammount] => 0    [mem_realloc_count] => 0    [mem_realloc_ammount] => 0    [mem_free_count] => 0    [proto_text_fetched_null] => 0    [proto_text_fetched_bit] => 0    [proto_text_fetched_tinyint] => 0    [proto_text_fetched_short] => 0    [proto_text_fetched_int24] => 0    [proto_text_fetched_int] => 0    [proto_text_fetched_bigint] => 0    [proto_text_fetched_decimal] => 0    [proto_text_fetched_float] => 0    [proto_text_fetched_double] => 0    [proto_text_fetched_date] => 0    [proto_text_fetched_year] => 0    [proto_text_fetched_time] => 0    [proto_text_fetched_datetime] => 0    [proto_text_fetched_timestamp] => 0    [proto_text_fetched_string] => 0    [proto_text_fetched_blob] => 0    [proto_text_fetched_enum] => 0    [proto_text_fetched_set] => 0    [proto_text_fetched_geometry] => 0    [proto_text_fetched_other] => 0    [proto_binary_fetched_null] => 0    [proto_binary_fetched_bit] => 0    [proto_binary_fetched_tinyint] => 0    [proto_binary_fetched_short] => 0    [proto_binary_fetched_int24] => 0    [proto_binary_fetched_int] => 0    [proto_binary_fetched_bigint] => 0    [proto_binary_fetched_decimal] => 0    [proto_binary_fetched_float] => 0    [proto_binary_fetched_double] => 0    [proto_binary_fetched_date] => 0    [proto_binary_fetched_year] => 0    [proto_binary_fetched_time] => 0    [proto_binary_fetched_datetime] => 0    [proto_binary_fetched_timestamp] => 0    [proto_binary_fetched_string] => 0    [proto_binary_fetched_blob] => 0    [proto_binary_fetched_enum] => 0    [proto_binary_fetched_set] => 0    [proto_binary_fetched_geometry] => 0    [proto_binary_fetched_other] => 0)

См. Также

Описание Stats

22.9.3.9.22. mysqli_get_client_version,mysqli::$client_version

Copyright 1997-2012 PHP Documentation Group.

  • mysqli_get_client_version

    mysqli::$client_version

    Возвращает клиентскую версию MySQL как строку

Описание

Объектно-ориентированный стиль

int mysqli->client_version ;

Процедурный стиль

int mysqli_get_client_version(mysqli link);

Клиентский номер версии возвратов как целое число.

Возвращаемые значения

Число, которое представляет клиентскую версию библиотеки MySQL в формате: main_version*10000 + minor_version *100 + sub_version. Например, 4.1.0 возвращается как 40100.

Это полезно, чтобы быстро определить версию клиентской библиотеки, чтобы знать, выходит ли некоторая возможность.

Примеры

Пример 22.124. mysqli_get_client_version

<?php/* We don't need a connection to determine   the version of mysql client library */printf("Client library version: %d\n", mysqli_get_client_version());?>

См. Также

mysqli_get_client_info
mysqli_get_server_info
mysqli_get_server_version

22.9.3.9.23. mysqli::get_connection_stats,mysqli_get_connection_stats

Copyright 1997-2012 PHP Documentation Group.

  • mysqli::get_connection_stats

    mysqli_get_connection_stats

    Статистика возвратов о клиентском соединении

Описание

Объектно-ориентированный стиль

bool mysqli::get_connection_stats();

Процедурный стиль

array mysqli_get_connection_stats(mysqli link);

Статистика возвратов о клиентском соединении. Доступный только с mysqlnd.

Параметры

link

Процедурный стиль только: идентификатор ссылки, возвращенный mysqli_connect или mysqli_init

Возвращаемые значения

Возвращает массив с соединением stats если успех, FALSE иначе.

Примеры

Пример 22.125. A mysqli_get_connection_statsпример

<?php$link = mysqli_connect();print_r(mysqli_get_connection_stats($link));?>    

Вышеупомянутый пример выведет что-то подобное:

Array(    [bytes_sent] => 43    [bytes_received] => 80    [packets_sent] => 1    [packets_received] => 2    [protocol_overhead_in] => 8    [protocol_overhead_out] => 4    [bytes_received_ok_packet] => 11    [bytes_received_eof_packet] => 0    [bytes_received_rset_header_packet] => 0    [bytes_received_rset_field_meta_packet] => 0    [bytes_received_rset_row_packet] => 0    [bytes_received_prepare_response_packet] => 0    [bytes_received_change_user_packet] => 0    [packets_sent_command] => 0    [packets_received_ok] => 1    [packets_received_eof] => 0    [packets_received_rset_header] => 0    [packets_received_rset_field_meta] => 0    [packets_received_rset_row] => 0    [packets_received_prepare_response] => 0    [packets_received_change_user] => 0    [result_set_queries] => 0    [non_result_set_queries] => 0    [no_index_used] => 0    [bad_index_used] => 0    [slow_queries] => 0    [buffered_sets] => 0    [unbuffered_sets] => 0    [ps_buffered_sets] => 0    [ps_unbuffered_sets] => 0    [flushed_normal_sets] => 0    [flushed_ps_sets] => 0    [ps_prepared_never_executed] => 0    [ps_prepared_once_executed] => 0    [rows_fetched_from_server_normal] => 0    [rows_fetched_from_server_ps] => 0    [rows_buffered_from_client_normal] => 0    [rows_buffered_from_client_ps] => 0    [rows_fetched_from_client_normal_buffered] => 0    [rows_fetched_from_client_normal_unbuffered] => 0    [rows_fetched_from_client_ps_buffered] => 0    [rows_fetched_from_client_ps_unbuffered] => 0    [rows_fetched_from_client_ps_cursor] => 0    [rows_skipped_normal] => 0    [rows_skipped_ps] => 0    [copy_on_write_saved] => 0    [copy_on_write_performed] => 0    [command_buffer_too_small] => 0    [connect_success] => 1    [connect_failure] => 0    [connection_reused] => 0    [reconnect] => 0    [pconnect_success] => 0    [active_connections] => 1    [active_persistent_connections] => 0    [explicit_close] => 0    [implicit_close] => 0    [disconnect_close] => 0    [in_middle_of_command_close] => 0    [explicit_free_result] => 0    [implicit_free_result] => 0    [explicit_stmt_close] => 0    [implicit_stmt_close] => 0    [mem_emalloc_count] => 0    [mem_emalloc_ammount] => 0    [mem_ecalloc_count] => 0    [mem_ecalloc_ammount] => 0    [mem_erealloc_count] => 0    [mem_erealloc_ammount] => 0    [mem_efree_count] => 0    [mem_malloc_count] => 0    [mem_malloc_ammount] => 0    [mem_calloc_count] => 0    [mem_calloc_ammount] => 0    [mem_realloc_count] => 0    [mem_realloc_ammount] => 0    [mem_free_count] => 0    [proto_text_fetched_null] => 0    [proto_text_fetched_bit] => 0    [proto_text_fetched_tinyint] => 0    [proto_text_fetched_short] => 0    [proto_text_fetched_int24] => 0    [proto_text_fetched_int] => 0    [proto_text_fetched_bigint] => 0    [proto_text_fetched_decimal] => 0    [proto_text_fetched_float] => 0    [proto_text_fetched_double] => 0    [proto_text_fetched_date] => 0    [proto_text_fetched_year] => 0    [proto_text_fetched_time] => 0    [proto_text_fetched_datetime] => 0    [proto_text_fetched_timestamp] => 0    [proto_text_fetched_string] => 0    [proto_text_fetched_blob] => 0    [proto_text_fetched_enum] => 0    [proto_text_fetched_set] => 0    [proto_text_fetched_geometry] => 0    [proto_text_fetched_other] => 0    [proto_binary_fetched_null] => 0    [proto_binary_fetched_bit] => 0    [proto_binary_fetched_tinyint] => 0    [proto_binary_fetched_short] => 0    [proto_binary_fetched_int24] => 0    [proto_binary_fetched_int] => 0    [proto_binary_fetched_bigint] => 0    [proto_binary_fetched_decimal] => 0    [proto_binary_fetched_float] => 0    [proto_binary_fetched_double] => 0    [proto_binary_fetched_date] => 0    [proto_binary_fetched_year] => 0    [proto_binary_fetched_time] => 0    [proto_binary_fetched_datetime] => 0    [proto_binary_fetched_timestamp] => 0    [proto_binary_fetched_string] => 0    [proto_binary_fetched_blob] => 0    [proto_binary_fetched_enum] => 0    [proto_binary_fetched_set] => 0    [proto_binary_fetched_geometry] => 0    [proto_binary_fetched_other] => 0)

См. Также

Описание Stats

22.9.3.9.24. mysqli::$host_info,mysqli_get_host_info

Copyright 1997-2012 PHP Documentation Group.

  • mysqli::$host_info

    mysqli_get_host_info

    Возвращает строку, представляющую тип используемого соединения

Описание

Объектно-ориентированный стиль

string mysqli->host_info ;

Процедурный стиль

string mysqli_get_host_info(mysqli link);

Возвращает строку, описывающую соединение, представленное link параметр (включая имя хоста сервера).

Параметры

link

Процедурный стиль только: идентификатор ссылки, возвращенный mysqli_connect или mysqli_init

Возвращаемые значения

Символьная строка, представляющая имя узла сервера и тип подключения.

Примеры

Пример 22.126. $mysqli->host_info пример

Объектно-ориентированный стиль

<?php$mysqli = new mysqli("localhost", "my_user", "my_password", "world");/* check connection */if (mysqli_connect_errno()) {    printf("Connect failed: %s\n", mysqli_connect_error());    exit();}/* print host information */printf("Host info: %s\n", $mysqli->host_info);/* close connection */$mysqli->close();?>   

Процедурный стиль

<?php$link = mysqli_connect("localhost", "my_user", "my_password", "world");/* check connection */if (mysqli_connect_errno()) {    printf("Connect failed: %s\n", mysqli_connect_error());    exit();}/* print host information */printf("Host info: %s\n", mysqli_get_host_info($link));/* close connection */mysqli_close($link);?>   

Вышеупомянутые примеры выведут:

Host info: Localhost via UNIX socket

См. Также

mysqli_get_proto_info

22.9.3.9.25. mysqli::$protocol_version,mysqli_get_proto_info

Copyright 1997-2012 PHP Documentation Group.

  • mysqli::$protocol_version

    mysqli_get_proto_info

    Возвращает версию используемого протокола MySQL

Описание

Объектно-ориентированный стиль

string mysqli->protocol_version ;

Процедурный стиль

int mysqli_get_proto_info(mysqli link);

Возвращает целое число, представляющее версию протокола MySQL, используемую соединением, представленным link параметр.

Параметры

link

Процедурный стиль только: идентификатор ссылки, возвращенный mysqli_connect или mysqli_init

Возвращаемые значения

Возвращает целое число, представляющее версию протокола.

Примеры

Пример 22.127. $mysqli->protocol_version пример

Объектно-ориентированный стиль

<?php$mysqli = new mysqli("localhost", "my_user", "my_password");/* check connection */if (mysqli_connect_errno()) {    printf("Connect failed: %s\n", mysqli_connect_error());    exit();}/* print protocol version */printf("Protocol version: %d\n", $mysqli->protocol_version);/* close connection */$mysqli->close();?>   

Процедурный стиль

<?php$link = mysqli_connect("localhost", "my_user", "my_password");/* check connection */if (mysqli_connect_errno()) {    printf("Connect failed: %s\n", mysqli_connect_error());    exit();}/* print protocol version */printf("Protocol version: %d\n", mysqli_get_proto_info($link));/* close connection */mysqli_close($link);?>   

Вышеупомянутые примеры выведут:

Protocol version: 10

См. Также

mysqli_get_host_info

22.9.3.9.26. mysqli::$server_info,mysqli_get_server_info

Copyright 1997-2012 PHP Documentation Group.

  • mysqli::$server_info

    mysqli_get_server_info

    Возвращает версию сервера MySQL

Описание

Объектно-ориентированный стиль

string mysqli->server_info ;

Процедурный стиль

string mysqli_get_server_info(mysqli link);

Возвращает строку, представляющую версию сервера MySQL, с которым соединяется расширение MySQLi.

Параметры

link

Процедурный стиль только: идентификатор ссылки, возвращенный mysqli_connect или mysqli_init

Возвращаемые значения

Символьная строка, представляющая версию сервера.

Примеры

Пример 22.128. $mysqli->server_info пример

Объектно-ориентированный стиль

<?php$mysqli = new mysqli("localhost", "my_user", "my_password");/* check connection */if (mysqli_connect_errno()) {    printf("Connect failed: %s\n", mysqli_connect_error());    exit();}/* print server version */printf("Server version: %s\n", $mysqli->server_info);/* close connection */$mysqli->close();?>   

Процедурный стиль

<?php$link = mysqli_connect("localhost", "my_user", "my_password");/* check connection */if (mysqli_connect_errno()) {    printf("Connect failed: %s\n", mysqli_connect_error());    exit();}/* print server version */printf("Server version: %s\n", mysqli_get_server_info($link));/* close connection */mysqli_close($link);?>   

Вышеупомянутые примеры выведут:

Server version: 4.1.2-alpha-debug

См. Также

mysqli_get_client_info
mysqli_get_client_version
mysqli_get_server_version

22.9.3.9.27. mysqli::$server_version,mysqli_get_server_version

Copyright 1997-2012 PHP Documentation Group.

  • mysqli::$server_version

    mysqli_get_server_version

    Возвращает версию сервера MySQL как целое число

Описание

Объектно-ориентированный стиль

int mysqli->server_version ;

Процедурный стиль

int mysqli_get_server_version(mysqli link);

mysqli_get_server_version функционируйте возвращает версию сервера, соединенного с (представленный link параметр) как целое число.

Параметры

link

Процедурный стиль только: идентификатор ссылки, возвращенный mysqli_connect или mysqli_init

Возвращаемые значения

Целое число, представляющее версию сервера.

Форма этого номера версии main_version * 10000 + minor_version * 100 + sub_version (то есть версия 4.1.0 40100).

Примеры

Пример 22.129. $mysqli->server_version пример

Объектно-ориентированный стиль

<?php$mysqli = new mysqli("localhost", "my_user", "my_password");/* check connection */if (mysqli_connect_errno()) {    printf("Connect failed: %s\n", mysqli_connect_error());    exit();}/* print server version */printf("Server version: %d\n", $mysqli->server_version);/* close connection */$mysqli->close();?>   

Процедурный стиль

<?php$link = mysqli_connect("localhost", "my_user", "my_password");/* check connection */if (mysqli_connect_errno()) {    printf("Connect failed: %s\n", mysqli_connect_error());    exit();}/* print server version */printf("Server version: %d\n", mysqli_get_server_version($link));/* close connection */mysqli_close($link);?>   

Вышеупомянутые примеры выведут:

Server version: 40102

См. Также

mysqli_get_client_info
mysqli_get_client_version
mysqli_get_server_info

22.9.3.9.28. mysqli::get_warnings,mysqli_get_warnings

Copyright 1997-2012 PHP Documentation Group.

  • mysqli::get_warnings

    mysqli_get_warnings

    Получите результат ВЫСТАВОЧНЫХ ПРЕДУПРЕЖДЕНИЙ

Описание

Объектно-ориентированный стиль

mysqli_warning mysqli::get_warnings();

Процедурный стиль

mysqli_warning mysqli_get_warnings(mysqli link);
Предупреждение

Эта функция iscurrently не задокументированный; только его список параметров доступен.

22.9.3.9.29. mysqli::$info, mysqli_info

Copyright 1997-2012 PHP Documentation Group.

  • mysqli::$info

    mysqli_info

    Получает информацию о последний раз выполняемом запросе

Описание

Объектно-ориентированный стиль

string mysqli->info ;

Процедурный стиль

string mysqli_info(mysqli link);

mysqli_info функционируйте возвращает строковую информацию о предоставляющем о последнем выполняемом запросе. Природа этой строки обеспечивается ниже:

Таблица 22.49. Возможные mysqli_info возвращаемые значения

Тип запроса Строка результата в качестве примера
INSERT INTO... ВЫБЕРИТЕ... Записи: 100 Копий: 0 Предупреждений: 0
INSERT INTO... ЗНАЧЕНИЯ (...), (...), (...) Записи: 3 Копии: 0 Предупреждений: 0
ДАННЫЕ ЗАГРУЗКИ INFILE... Записи: 1 Удаленный: 0 Пропущенный: 0 Предупреждений: 0
ALTER TABLE... Записи: 3 Копии: 0 Предупреждений: 0
ОБНОВЛЕНИЕ... Строки соответствовали: 40 Измененный: 40 Предупреждений: 0
Отметить

Запросы, которые не попадают в один из предыдущих форматов, не поддерживаются. В этих ситуациях, mysqli_info возвратит пустую строку.

Параметры

link

Процедурный стиль только: идентификатор ссылки, возвращенный mysqli_connect или mysqli_init

Возвращаемые значения

Дополнительная информация представления символьной строки о последний раз выполняемом запросе.

Примеры

Пример 22.130. $mysqli->info пример

Объектно-ориентированный стиль

<?php$mysqli = new mysqli("localhost", "my_user", "my_password", "world");/* check connection */if (mysqli_connect_errno()) {    printf("Connect failed: %s\n", mysqli_connect_error());    exit();}$mysqli->query("CREATE TEMPORARY TABLE t1 LIKE City");/* INSERT INTO .. SELECT */$mysqli->query("INSERT INTO t1 SELECT * FROM City ORDER BY ID LIMIT 150");printf("%s\n", $mysqli->info);/* close connection */$mysqli->close();?>   

Процедурный стиль

<?php$link = mysqli_connect("localhost", "my_user", "my_password", "world");/* check connection */if (mysqli_connect_errno()) {    printf("Connect failed: %s\n", mysqli_connect_error());    exit();}mysqli_query($link, "CREATE TEMPORARY TABLE t1 LIKE City");/* INSERT INTO .. SELECT */mysqli_query($link, "INSERT INTO t1 SELECT * FROM City ORDER BY ID LIMIT 150");printf("%s\n", mysqli_info($link));/* close connection */mysqli_close($link);?>   

Вышеупомянутые примеры выведут:

Records: 150  Duplicates: 0  Warnings: 0

См. Также

mysqli_affected_rows
mysqli_warning_count
mysqli_num_rows

22.9.3.9.30. mysqli::init, mysqli_init

Copyright 1997-2012 PHP Documentation Group.

  • mysqli::init

    mysqli_init

    Инициализирует MySQLi и возвращает ресурс для использования с mysqli_real_connect ()

Описание

Объектно-ориентированный стиль

mysqli mysqli::init();

Процедурный стиль

mysqli mysqli_init();

Выделяет или инициализирует объект MYSQL, подходящий для mysqli_options и mysqli_real_connect.

Отметить

Любые последующие звонки в любую функцию mysqli (кроме mysqli_options) не перестанет работать до mysqli_real_connect был вызван.

Возвращаемые значения

Возвращает объект.

Примеры

См. mysqli_real_connect.

См. Также

mysqli_options
mysqli_close
mysqli_real_connect
mysqli_connect

22.9.3.9.31. mysqli::$insert_id,mysqli_insert_id

Copyright 1997-2012 PHP Documentation Group.

  • mysqli::$insert_id

    mysqli_insert_id

    Возвращает автоматический сгенерированный идентификатор, используемый в последнем запросе

Описание

Объектно-ориентированный стиль

mixed mysqli->insert_id ;

Процедурный стиль

mixed mysqli_insert_id(mysqli link);

mysqli_insert_id функционируйте возвращает ID, сгенерированный запросом на таблице со столбцом, имеющим атрибут AUTO_INCREMENT. Если последний запрос не был оператором INSERT ИЛИ UPDATE или если у измененной таблицы не будет столбца с атрибутом AUTO_INCREMENT, то эта функция возвратит нуль.

Отметить

Выполняя оператор INSERT ИЛИ UPDATE, используя LAST_INSERT_ID () функция также изменит значение, возвращенное mysqli_insert_id функция.

Параметры

link

Процедурный стиль только: идентификатор ссылки, возвращенный mysqli_connect или mysqli_init

Возвращаемые значения

Значение AUTO_INCREMENT поле, которое было обновлено предыдущим запросом. Возвраты обнуляют, если не было никакого предыдущего запроса на соединении или если запрос не обновлял AUTO_INCREMENT значение.

Отметить

Если число больше чем максимальное международное значение, mysqli_insert_id возвратит строку.

Примеры

Пример 22.131. $mysqli->insert_id пример

Объектно-ориентированный стиль

<?php$mysqli = new mysqli("localhost", "my_user", "my_password", "world");/* check connection */if (mysqli_connect_errno()) {    printf("Connect failed: %s\n", mysqli_connect_error());    exit();}$mysqli->query("CREATE TABLE myCity LIKE City");$query = "INSERT INTO myCity VALUES (NULL, 'Stuttgart', 'DEU', 'Stuttgart', 617000)";$mysqli->query($query);printf ("New Record has id %d.\n", $mysqli->insert_id);/* drop table */$mysqli->query("DROP TABLE myCity");/* close connection */$mysqli->close();?>   

Процедурный стиль

<?php$link = mysqli_connect("localhost", "my_user", "my_password", "world");/* check connection */if (mysqli_connect_errno()) {    printf("Connect failed: %s\n", mysqli_connect_error());    exit();}mysqli_query($link, "CREATE TABLE myCity LIKE City");$query = "INSERT INTO myCity VALUES (NULL, 'Stuttgart', 'DEU', 'Stuttgart', 617000)";mysqli_query($link, $query);printf ("New Record has id %d.\n", mysqli_insert_id($link));/* drop table */mysqli_query($link, "DROP TABLE myCity");/* close connection */mysqli_close($link);?>   

Вышеупомянутые примеры выведут:

New Record has id 1.

22.9.3.9.32. mysqli::kill, mysqli_kill

Copyright 1997-2012 PHP Documentation Group.

  • mysqli::kill

    mysqli_kill

    Просит сервер уничтожать поток MySQL

Описание

Объектно-ориентированный стиль

bool mysqli::kill(int processid);

Процедурный стиль

bool mysqli_kill(mysqli link,
int processid);

Эта функция используется, чтобы попросить, чтобы сервер уничтожил поток MySQL, определенный processid параметр. Это значение должно быть получено, вызывая mysqli_thread_id функция.

Чтобы остановить рабочий запрос, следует использовать команду SQL KILL QUERY processid.

Параметры

link

Процедурный стиль только: идентификатор ссылки, возвращенный mysqli_connect или mysqli_init

Возвращаемые значения

Возвраты TRUE на успехе или FALSE при отказе.

Примеры

Пример 22.132. mysqli::killпример

Объектно-ориентированный стиль

<?php$mysqli = new mysqli("localhost", "my_user", "my_password", "world");/* check connection */if (mysqli_connect_errno()) {    printf("Connect failed: %s\n", mysqli_connect_error());    exit();}/* determine our thread id */$thread_id = $mysqli->thread_id;/* Kill connection */$mysqli->kill($thread_id);/* This should produce an error */if (!$mysqli->query("CREATE TABLE myCity LIKE City")) {    printf("Error: %s\n", $mysqli->error);    exit;}/* close connection */$mysqli->close();?>   

Процедурный стиль

<?php$link = mysqli_connect("localhost", "my_user", "my_password", "world");/* check connection */if (mysqli_connect_errno()) {    printf("Connect failed: %s\n", mysqli_connect_error());    exit();}/* determine our thread id */$thread_id = mysqli_thread_id($link);/* Kill connection */mysqli_kill($link, $thread_id);/* This should produce an error */if (!mysqli_query($link, "CREATE TABLE myCity LIKE City")) {    printf("Error: %s\n", mysqli_error($link));    exit;}/* close connection */mysqli_close($link);?>   

Вышеупомянутые примеры выведут:

Error: MySQL server has gone away

См. Также

mysqli_thread_id

22.9.3.9.33. mysqli::more_results,mysqli_more_results

Copyright 1997-2012 PHP Documentation Group.

  • mysqli::more_results

    mysqli_more_results

    Проверьте, есть ли больше запрос, следует из много запроса

Описание

Объектно-ориентированный стиль

bool mysqli::more_results();

Процедурный стиль

bool mysqli_more_results(mysqli link);

Указывает, доступны ли один или более наборов результатов от предыдущего звонка mysqli_multi_query.

Параметры

link

Процедурный стиль только: идентификатор ссылки, возвращенный mysqli_connect или mysqli_init

Возвращаемые значения

Возвраты TRUE если один или более наборов результатов доступны от предыдущего звонка mysqli_multi_query, иначе FALSE .

Примеры

См. mysqli_multi_query.

См. Также

mysqli_multi_query
mysqli_next_result
mysqli_store_result
mysqli_use_result

22.9.3.9.34. mysqli::multi_query,mysqli_multi_query

Copyright 1997-2012 PHP Documentation Group.

  • mysqli::multi_query

    mysqli_multi_query

    Выполняет запрос на базе данных

Описание

Объектно-ориентированный стиль

bool mysqli::multi_query(string query);

Процедурный стиль

bool mysqli_multi_query(mysqli link,
string query);

Выполняется один или многократные запросы, которые связываются точкой с запятой.

Чтобы получить набор результатов от первого запроса, можно использовать mysqli_use_result или mysqli_store_result. Все последующие результаты запроса могут быть обработаны, используя mysqli_more_results и mysqli_next_result.

Параметры

link

Процедурный стиль только: идентификатор ссылки, возвращенный mysqli_connect или mysqli_init

query

Запрос, как строка.

Данных в запросе нужно должным образом оставить.

Возвращаемые значения

Возвраты FALSE если первый оператор перестал работать. Чтобы получить последующие ошибки от других операторов, необходимо вызвать mysqli_next_result сначала.

Примеры

Пример 22.133. mysqli::multi_queryпример

Объектно-ориентированный стиль

<?php$mysqli = new mysqli("localhost", "my_user", "my_password", "world");/* check connection */if (mysqli_connect_errno()) {    printf("Connect failed: %s\n", mysqli_connect_error());    exit();}$query  = "SELECT CURRENT_USER();";$query .= "SELECT Name FROM City ORDER BY ID LIMIT 20, 5";/* execute multi query */if ($mysqli->multi_query($query)) {    do {        /* store first result set */        if ($result = $mysqli->store_result()) {            while ($row = $result->fetch_row()) {                printf("%s\n", $row[0]);            }            $result->free();        }        /* print divider */        if ($mysqli->more_results()) {            printf("-----------------\n");        }    } while ($mysqli->next_result());}/* close connection */$mysqli->close();?>   

Процедурный стиль

<?php$link = mysqli_connect("localhost", "my_user", "my_password", "world");/* check connection */if (mysqli_connect_errno()) {    printf("Connect failed: %s\n", mysqli_connect_error());    exit();}$query  = "SELECT CURRENT_USER();";$query .= "SELECT Name FROM City ORDER BY ID LIMIT 20, 5";/* execute multi query */if (mysqli_multi_query($link, $query)) {    do {        /* store first result set */        if ($result = mysqli_store_result($link)) {            while ($row = mysqli_fetch_row($result)) {                printf("%s\n", $row[0]);            }            mysqli_free_result($result);        }        /* print divider */        if (mysqli_more_results($link)) {            printf("-----------------\n");        }    } while (mysqli_next_result($link));}/* close connection */mysqli_close($link);?>   

Вышеупомянутые примеры выведут что-то подобное:

my_user@localhost-----------------AmersfoortMaastrichtDordrechtLeidenHaarlemmermeer

См. Также

mysqli_query
mysqli_use_result
mysqli_store_result
mysqli_next_result
mysqli_more_results

22.9.3.9.35. mysqli::next_result,mysqli_next_result

Copyright 1997-2012 PHP Documentation Group.

  • mysqli::next_result

    mysqli_next_result

    Подготовьте следующее следствие multi_query

Описание

Объектно-ориентированный стиль

bool mysqli::next_result();

Процедурный стиль

bool mysqli_next_result(mysqli link);

Готовит следующий набор результатов от предыдущего звонка mysqli_multi_query который может быть получен mysqli_store_result или mysqli_use_result.

Параметры

link

Процедурный стиль только: идентификатор ссылки, возвращенный mysqli_connect или mysqli_init

Возвращаемые значения

Возвраты TRUE на успехе или FALSE при отказе.

Примеры

См. mysqli_multi_query.

См. Также

mysqli_multi_query
mysqli_more_results
mysqli_store_result
mysqli_use_result

22.9.3.9.36. mysqli::options, mysqli_options

Copyright 1997-2012 PHP Documentation Group.

  • mysqli::options

    mysqli_options

    Опции набора

Описание

Объектно-ориентированный стиль

bool mysqli::options(int option,
mixed value);

Процедурный стиль

bool mysqli_options(mysqli link,
int option,
mixed value);

Используемый, чтобы установить дополнительный соединяют опции и влияют на поведение для соединения.

Эта функция может быть вызвана многократно, чтобы установить несколько опций.

mysqli_options должен быть вызван после mysqli_init и прежде mysqli_real_connect.

Параметры

link

Процедурный стиль только: идентификатор ссылки, возвращенный mysqli_connect или mysqli_init

option

Опция, которую Вы хотите установить. Это может быть одно из следующих значений:

Таблица 22.50. Допустимые опции

Имя Описание
MYSQLI_OPT_CONNECT_TIMEOUT тайм-аут соединения в секундах (поддерживаемый на Windows с TCP/IP начиная с PHP 5.3.1)
MYSQLI_OPT_LOCAL_INFILE позвольте/отключите использованию LOAD LOCAL INFILE
MYSQLI_INIT_COMMAND команда, чтобы выполниться после, соединяясь с сервером MySQL
MYSQLI_READ_DEFAULT_FILE Считайте опции из именованного файла опции вместо my.cnf
MYSQLI_READ_DEFAULT_GROUP Считайте опции из именованной группы от my.cnf или файл, определенный с MYSQL_READ_DEFAULT_FILE.
MYSQLI_SERVER_PUBLIC_KEY Файл открытого ключа RSA, используемый с SHA 256 базируемой аутентификации.
value

Значение для опции.

Возвращаемые значения

Возвраты TRUE на успехе или FALSE при отказе.

Журнал изменений

Версия Описание
5.5.0 MYSQLI_SERVER_PUBLIC_KEYопция была добавлена.

Примеры

См. mysqli_real_connect.

Примечания

Отметить

MySQLnd всегда принимает набор символов значения по умолчанию сервера. Этот набор символов отправляется во время рукопожатия/аутентификации соединения, которое будет использовать mysqlnd.

Либмискльклиан использует набор набора символов значения по умолчанию my.cnf или явным звонком mysqli_options до вызова mysqli_real_connect, но после mysqli_init.

См. Также

mysqli_init
mysqli_real_connect

22.9.3.9.37. mysqli::ping, mysqli_ping

Copyright 1997-2012 PHP Documentation Group.

  • mysqli::ping

    mysqli_ping

    Проверяет с помощью ping-запросов соединение сервера, или пытается повторно соединиться, если соединение потеряло работоспособность

Описание

Объектно-ориентированный стиль

bool mysqli::ping();

Процедурный стиль

bool mysqli_ping(mysqli link);

Проверки, работает ли соединение с сервером. Если это потеряло работоспособность, и глобальной опции mysqli.reconnect включают предпринимается, автоматическое пересоединение.

Эта функция может использоваться клиентами, которые остаются неактивными долгое время, чтобы проверить, закрыл ли сервер соединение и повторно соединяется в случае необходимости.

Параметры

link

Процедурный стиль только: идентификатор ссылки, возвращенный mysqli_connect или mysqli_init

Возвращаемые значения

Возвраты TRUE на успехе или FALSE при отказе.

Примеры

Пример 22.134. mysqli::pingпример

Объектно-ориентированный стиль

<?php$mysqli = new mysqli("localhost", "my_user", "my_password", "world");/* check connection */if (mysqli_connect_errno()) {    printf("Connect failed: %s\n", mysqli_connect_error());    exit();}/* check if server is alive */if ($mysqli->ping()) {    printf ("Our connection is ok!\n");} else {    printf ("Error: %s\n", $mysqli->error);}/* close connection */$mysqli->close();?>   

Процедурный стиль

<?php$link = mysqli_connect("localhost", "my_user", "my_password", "world");/* check connection */if (mysqli_connect_errno()) {    printf("Connect failed: %s\n", mysqli_connect_error());    exit();}/* check if server is alive */if (mysqli_ping($link)) {    printf ("Our connection is ok!\n");} else {    printf ("Error: %s\n", mysqli_error($link));}/* close connection */mysqli_close($link);?>   

Вышеупомянутые примеры выведут:

Our connection is ok!

22.9.3.9.38. mysqli::poll, mysqli_poll

Copyright 1997-2012 PHP Documentation Group.

  • mysqli::poll

    mysqli_poll

    Соединения опроса

Описание

Объектно-ориентированный стиль

public static int mysqli::poll(array read,
array error,
array reject,
int sec,
int usec);

Процедурный стиль

int mysqli_poll(array read,
array error,
array reject,
int sec,
int usec);
Предупреждение

Эта функция iscurrently не задокументированный; только его список параметров доступен.

Соединения опроса. Доступный только с mysqlnd. Метод может использоваться в качестве статичного.

Параметры

read

error

reject

sec

Число секунд, чтобы ожидать, должно быть неотрицательным.

usec

Число микросекунд, чтобы ожидать, должно быть неотрицательным.

Возвращаемые значения

Число возвратов готовых соединений на успех, FALSE иначе.

Примеры

Пример 22.135. A mysqli_pollпример

<?php$link1 = mysqli_connect();$link1->query("SELECT 'test'", MYSQLI_ASYNC);$all_links = array($link1);$processed = 0;do {    $links = $errors = $reject = array();    foreach ($all_links as $link) {        $links[] = $errors[] = $reject[] = $link;    }    if (!mysqli_poll($links, $errors, $reject, 1)) {        continue;    }    foreach ($links as $link) {        if ($result = $link->reap_async_query()) {            print_r($result->fetch_row());            if (is_object($result))                mysqli_free_result($result);           } else die(sprintf("MySQLi Error: %s", mysqli_error($link)));        $processed++;    }} while ($processed < count($all_links));?>    

Вышеупомянутый пример выведет:

Array(    [0] => test)

См. Также

mysqli_query
mysqli_reap_async_query

22.9.3.9.39. mysqli::prepare, mysqli_prepare

Copyright 1997-2012 PHP Documentation Group.

  • mysqli::prepare

    mysqli_prepare

    Подготовьте SQL-оператор к выполнению

Описание

Объектно-ориентированный стиль

mysqli_stmt mysqli::prepare(string query);

Процедурный стиль

mysqli_stmt mysqli_prepare(mysqli link,
string query);

Готовит SQL-запрос, и возвращает дескриптор оператора, который будет использоваться для дальнейших операций на операторе. Запрос должен состоять из единственного SQL-оператора.

Маркеры параметра должны быть связаны с использованием переменных приложения mysqli_stmt_bind_param и/или mysqli_stmt_bind_result прежде, чем выполнить оператор или выбрать строки.

Параметры

link

Процедурный стиль только: идентификатор ссылки, возвращенный mysqli_connect или mysqli_init

query

Запрос, как строка.

Отметить

Недопустимо добавить завершающуюся точку с запятой или \g к оператору.

Этот параметр может включать один или более маркеров параметра в SQL-оператор, встраивая вопросительный знак (?) символы в соответствующих позициях.

Отметить

Маркеры являются законными только в определенных местах в SQL-операторах. Например, им позволяют войти VALUES() список INSERT оператор (чтобы определить значения столбцов для строки), или в сравнении со столбцом в a WHERE пункт, чтобы определить сравнительное значение.

Однако, им не позволяют для идентификаторов (таких как имена таблиц или имена столбцов) в списке выборки, который называет столбцы, которые будут возвращены a SELECT оператор, или определить оба операнда бинарного оператора такой как = знак "равно". Последнее ограничение необходимо, потому что было бы невозможно определить тип параметра. Не позволяется сравнить маркер с NULL ? IS NULL также. Вообще, параметры являются законными только в Языке манипулирования данными (DML) операторы, а не в Языке определения данных (DDL) операторы.

Возвращаемые значения

mysqli_prepare возвращает объект оператора или FALSE если ошибка произошла.

Примеры

Пример 22.136. mysqli::prepareпример

Объектно-ориентированный стиль

<?php$mysqli = new mysqli("localhost", "my_user", "my_password", "world");/* check connection */if (mysqli_connect_errno()) {    printf("Connect failed: %s\n", mysqli_connect_error());    exit();}$city = "Amersfoort";/* create a prepared statement */if ($stmt = $mysqli->prepare("SELECT District FROM City WHERE Name=?")) {    /* bind parameters for markers */    $stmt->bind_param("s", $city);    /* execute query */    $stmt->execute();    /* bind result variables */    $stmt->bind_result($district);    /* fetch value */    $stmt->fetch();    printf("%s is in district %s\n", $city, $district);    /* close statement */    $stmt->close();}/* close connection */$mysqli->close();?>   

Процедурный стиль

<?php$link = mysqli_connect("localhost", "my_user", "my_password", "world");/* check connection */if (mysqli_connect_errno()) {    printf("Connect failed: %s\n", mysqli_connect_error());    exit();}$city = "Amersfoort";/* create a prepared statement */if ($stmt = mysqli_prepare($link, "SELECT District FROM City WHERE Name=?")) {    /* bind parameters for markers */    mysqli_stmt_bind_param($stmt, "s", $city);    /* execute query */    mysqli_stmt_execute($stmt);    /* bind result variables */    mysqli_stmt_bind_result($stmt, $district);    /* fetch value */    mysqli_stmt_fetch($stmt);    printf("%s is in district %s\n", $city, $district);    /* close statement */    mysqli_stmt_close($stmt);}/* close connection */mysqli_close($link);?>   

Вышеупомянутые примеры выведут:

Amersfoort is in district Utrecht

См. Также

mysqli_stmt_execute
mysqli_stmt_fetch
mysqli_stmt_bind_param
mysqli_stmt_bind_result
mysqli_stmt_close

22.9.3.9.40. mysqli::query, mysqli_query

Copyright 1997-2012 PHP Documentation Group.

  • mysqli::query

    mysqli_query

    Выполняет запрос на базе данных

Описание

Объектно-ориентированный стиль

mixed mysqli::query(string query,
int resultmode= =MYSQLI_STORE_RESULT);

Процедурный стиль

mixed mysqli_query(mysqli link,
string query,
int resultmode= =MYSQLI_STORE_RESULT);

Выполняет a query против базы данных.

Для запросов не-DML (не ВСТАВЛЯЮТ, ОБНОВИТЕ или УДАЛИТЕ), эта функция подобна вызову mysqli_real_query сопровождаемый также mysqli_use_result или mysqli_store_result.

Отметить

В случае, где Вы передаете оператор к mysqli_query это более длинно чем max_allowed_packet из сервера возвращенные коды ошибки отличаются в зависимости от того, используете ли Вы MySQL Native Driver (mysqlnd) или MySQL Client Library (libmysqlclient). Поведение следующие:

  • mysqlnd на Linux возвращает код ошибки 1153. Средства сообщения об ошибке "получили пакет, больше чем max_allowed_packet байты".

  • mysqlnd на Windows возвращает код ошибки 2006. Этот сервер "средств сообщения об ошибке ушел".

  • libmysqlclient на всех платформах возвращает код ошибки 2006. Этот сервер "средств сообщения об ошибке ушел".

Параметры

link

Процедурный стиль только: идентификатор ссылки, возвращенный mysqli_connect или mysqli_init

query

Строка запроса.

Данных в запросе нужно должным образом оставить.

resultmode

Любой константа MYSQLI_USE_RESULT или MYSQLI_STORE_RESULT в зависимости от требуемого поведения. По умолчанию, MYSQLI_STORE_RESULT используется.

Если Вы используете MYSQLI_USE_RESULT все последующие вызовы возвратят ошибку Commands out of sync если Вы не вызываете mysqli_free_result

С MYSQLI_ASYNC (доступный с mysqlnd), возможно выполнить запрос асинхронно. mysqli_poll тогда используется, чтобы получить следствия таких запросов.

Возвращаемые значения

Возвраты FALSE при отказе. Для успешного SELECT, SHOW, DESCRIBE или EXPLAIN запросы mysqli_query возвратит a mysqli_result объект. Для других успешных запросов mysqli_query возвратится TRUE .

Журнал изменений

Версия Описание
5.3.0 Добавленный возможность асинхронных запросов.

Примеры

Пример 22.137. mysqli::queryпример

Объектно-ориентированный стиль

<?php$mysqli = new mysqli("localhost", "my_user", "my_password", "world");/* check connection */if ($mysqli->connect_errno) {    printf("Connect failed: %s\n", $mysqli->connect_error);    exit();}/* Create table doesn't return a resultset */if ($mysqli->query("CREATE TEMPORARY TABLE myCity LIKE City") === TRUE) {    printf("Table myCity successfully created.\n");}/* Select queries return a resultset */if ($result = $mysqli->query("SELECT Name FROM City LIMIT 10")) {    printf("Select returned %d rows.\n", $result->num_rows);    /* free result set */    $result->close();}/* If we have to retrieve large amount of data we use MYSQLI_USE_RESULT */if ($result = $mysqli->query("SELECT * FROM City", MYSQLI_USE_RESULT)) {    /* Note, that we can't execute any functions which interact with the       server until result set was closed. All calls will return an       'out of sync' error */    if (!$mysqli->query("SET @a:='this will not work'")) {        printf("Error: %s\n", $mysqli->error);    }    $result->close();}$mysqli->close();?>   

Процедурный стиль

<?php$link = mysqli_connect("localhost", "my_user", "my_password", "world");/* check connection */if (mysqli_connect_errno()) {    printf("Connect failed: %s\n", mysqli_connect_error());    exit();}/* Create table doesn't return a resultset */if (mysqli_query($link, "CREATE TEMPORARY TABLE myCity LIKE City") === TRUE) {    printf("Table myCity successfully created.\n");}/* Select queries return a resultset */if ($result = mysqli_query($link, "SELECT Name FROM City LIMIT 10")) {    printf("Select returned %d rows.\n", mysqli_num_rows($result));    /* free result set */    mysqli_free_result($result);}/* If we have to retrieve large amount of data we use MYSQLI_USE_RESULT */if ($result = mysqli_query($link, "SELECT * FROM City", MYSQLI_USE_RESULT)) {    /* Note, that we can't execute any functions which interact with the       server until result set was closed. All calls will return an       'out of sync' error */    if (!mysqli_query($link, "SET @a:='this will not work'")) {        printf("Error: %s\n", mysqli_error($link));    }    mysqli_free_result($result);}mysqli_close($link);?>   

Вышеупомянутые примеры выведут:

Table myCity successfully created.Select returned 10 rows.Error: Commands out of sync;  You can't run this command now

См. Также

mysqli_real_query
mysqli_multi_query
mysqli_free_result

22.9.3.9.41. mysqli::real_connect,mysqli_real_connect

Copyright 1997-2012 PHP Documentation Group.

  • mysqli::real_connect

    mysqli_real_connect

    Открывает соединение с mysql сервером

Описание

Объектно-ориентированный стиль

bool mysqli::real_connect(string host,
string username,
string passwd,
string dbname,
int port,
string socket,
int flags);

Процедурный стиль

bool mysqli_real_connect(mysqli link,
string host,
string username,
string passwd,
string dbname,
int port,
string socket,
int flags);

Установите соединение с механизмом базы данных MySQL.

Эта функция отличается от mysqli_connect:

  • mysqli_real_connect нуждается в допустимом объекте, который должен быть создан функцией mysqli_init.

  • С mysqli_options функция можно установить различные варианты для соединения.

  • Есть a flags параметр.

Параметры

link

Процедурный стиль только: идентификатор ссылки, возвращенный mysqli_connect или mysqli_init

host

Может быть или имя хоста или IP-адрес. Передача NULL значение или строка "localhost" к этому параметру, локальный узел принимается. Когда возможный, каналы будут использоваться вместо протокола TCP/IP.

username

Имя пользователя MySQL.

passwd

Если обеспечено или NULL , сервер MySQL попытается аутентифицировать пользователя против тех пользовательских записей, у которых нет никакого пароля только. Это позволяет одному имени пользователя использоваться с различными полномочиями (в зависимости от если пароль как предусмотрено или не).

dbname

Если обеспечено определит базу данных значения по умолчанию, которая будет использоваться, выполняя запросы.

port

Определяет номер порта, чтобы попытаться соединиться с сервером MySQL.

socket

Определяет сокет или именованный канал, который должен использоваться.

Отметить

Определение socket параметр не будет явно определять тип соединения, которое будет использоваться, соединяясь с сервером MySQL. То, как соединение делается к базе данных MySQL, определяется host параметр.

flags

С параметром flags можно установить различные опции соединения:

Таблица 22.51. Поддерживаемые флаги

Имя Описание
MYSQLI_CLIENT_COMPRESS Используйте протокол сжатия
MYSQLI_CLIENT_FOUND_ROWS возвратите число соответствующих строк, не число строк, на которые влияют,
MYSQLI_CLIENT_IGNORE_SPACE Позвольте пробелы после имен функций. Делает все зарезервированные слова имен функций.
MYSQLI_CLIENT_INTERACTIVE Позволить interactive_timeout секунды (вместо wait_timeout секунды) ofinactivity прежде, чем закрыть соединение
MYSQLI_CLIENT_SSL Используйте SSL (шифрование)

Отметить

Для соображений безопасности MULTI_STATEMENT флаг не поддерживается в PHP. Если Вы хотите выполнить многократное использование запросов mysqli_multi_query функция.

Возвращаемые значения

Возвраты TRUE на успехе или FALSE при отказе.

Примеры

Пример 22.138. mysqli::real_connectпример

Объектно-ориентированный стиль

<?php$mysqli = mysqli_init();if (!$mysqli) {    die('mysqli_init failed');}if (!$mysqli->options(MYSQLI_INIT_COMMAND, 'SET AUTOCOMMIT = 0')) {    die('Setting MYSQLI_INIT_COMMAND failed');}if (!$mysqli->options(MYSQLI_OPT_CONNECT_TIMEOUT, 5)) {    die('Setting MYSQLI_OPT_CONNECT_TIMEOUT failed');}if (!$mysqli->real_connect('localhost', 'my_user', 'my_password', 'my_db')) {    die('Connect Error (' . mysqli_connect_errno() . ') '            . mysqli_connect_error());}echo 'Success... ' . $mysqli->host_info . "\n";$mysqli->close();?>   

Объектно-ориентированный стиль, расширяясь mysqli class

<?phpclass foo_mysqli extends mysqli {    public function __construct($host, $user, $pass, $db) {        parent::init();        if (!parent::options(MYSQLI_INIT_COMMAND, 'SET AUTOCOMMIT = 0')) {            die('Setting MYSQLI_INIT_COMMAND failed');        }        if (!parent::options(MYSQLI_OPT_CONNECT_TIMEOUT, 5)) {            die('Setting MYSQLI_OPT_CONNECT_TIMEOUT failed');        }        if (!parent::real_connect($host, $user, $pass, $db)) {            die('Connect Error (' . mysqli_connect_errno() . ') '                    . mysqli_connect_error());        }    }}$db = new foo_mysqli('localhost', 'my_user', 'my_password', 'my_db');echo 'Success... ' . $db->host_info . "\n";$db->close();?>   

Процедурный стиль

<?php$link = mysqli_init();if (!$link) {    die('mysqli_init failed');}if (!mysqli_options($link, MYSQLI_INIT_COMMAND, 'SET AUTOCOMMIT = 0')) {    die('Setting MYSQLI_INIT_COMMAND failed');}if (!mysqli_options($link, MYSQLI_OPT_CONNECT_TIMEOUT, 5)) {    die('Setting MYSQLI_OPT_CONNECT_TIMEOUT failed');}if (!mysqli_real_connect($link, 'localhost', 'my_user', 'my_password', 'my_db')) {    die('Connect Error (' . mysqli_connect_errno() . ') '            . mysqli_connect_error());}echo 'Success... ' . mysqli_get_host_info($link) . "\n";mysqli_close($link);?>   

Вышеупомянутые примеры выведут:

Success... MySQL host info: localhost via TCP/IP

Примечания

Отметить

MySQLnd всегда принимает набор символов значения по умолчанию сервера. Этот набор символов отправляется во время рукопожатия/аутентификации соединения, которое будет использовать mysqlnd.

Либмискльклиан использует набор набора символов значения по умолчанию my.cnf или явным звонком mysqli_options до вызова mysqli_real_connect, но после mysqli_init.

См. Также

mysqli_connect
mysqli_init
mysqli_options
mysqli_ssl_set
mysqli_close

22.9.3.9.42. mysqli::real_escape_string,mysqli_real_escape_string

Copyright 1997-2012 PHP Documentation Group.

  • mysqli::real_escape_string

    mysqli_real_escape_string

    Escape специальные символы в строке для использования в SQL-операторе, принимая во внимание текущий набор символов соединения

Описание

Объектно-ориентированный стиль

string mysqli::escape_string(string escapestr);
string mysqli::real_escape_string(string escapestr);

Процедурный стиль

string mysqli_real_escape_string(mysqli link,
string escapestr);

Эта функция используется, чтобы создать юридическую строку SQL, которую можно использовать в SQL-операторе. Данная строка кодируется к оставленной строке SQL, принимая во внимание текущий набор символов соединения.

Безопасность: набор символов значения по умолчанию

Набор символов должен быть установлен или на уровне сервера, или с API-функцией mysqli_set_charset для этого, чтобы влиять mysqli_real_escape_string. См. раздел понятий по наборам символов для получения дополнительной информации.

Параметры

link

Процедурный стиль только: идентификатор ссылки, возвращенный mysqli_connect или mysqli_init

escapestr

Строка, которой оставят.

Закодированные символы NUL (ASCII 0), \n, \r, \, ', ", and Control-Z.

Возвращаемые значения

Возвращает оставленную строку.

Примеры

Пример 22.139. mysqli::real_escape_stringпример

Объектно-ориентированный стиль

<?php$mysqli = new mysqli("localhost", "my_user", "my_password", "world");/* check connection */if (mysqli_connect_errno()) {    printf("Connect failed: %s\n", mysqli_connect_error());    exit();}$mysqli->query("CREATE TEMPORARY TABLE myCity LIKE City");$city = "'s Hertogenbosch";/* this query will fail, cause we didn't escape $city */if (!$mysqli->query("INSERT into myCity (Name) VALUES ('$city')")) {    printf("Error: %s\n", $mysqli->sqlstate);}$city = $mysqli->real_escape_string($city);/* this query with escaped $city will work */if ($mysqli->query("INSERT into myCity (Name) VALUES ('$city')")) {    printf("%d Row inserted.\n", $mysqli->affected_rows);}$mysqli->close();?>   

Процедурный стиль

<?php$link = mysqli_connect("localhost", "my_user", "my_password", "world");/* check connection */if (mysqli_connect_errno()) {    printf("Connect failed: %s\n", mysqli_connect_error());    exit();}mysqli_query($link, "CREATE TEMPORARY TABLE myCity LIKE City");$city = "'s Hertogenbosch";/* this query will fail, cause we didn't escape $city */if (!mysqli_query($link, "INSERT into myCity (Name) VALUES ('$city')")) {    printf("Error: %s\n", mysqli_sqlstate($link));}$city = mysqli_real_escape_string($link, $city);/* this query with escaped $city will work */if (mysqli_query($link, "INSERT into myCity (Name) VALUES ('$city')")) {    printf("%d Row inserted.\n", mysqli_affected_rows($link));}mysqli_close($link);?>   

Вышеупомянутые примеры выведут:

Error: 420001 Row inserted.

Примечания

Отметить

Для приученных к использованию mysql_real_escape_string, отметьте что параметры mysqli_real_escape_string отличайтесь от какой mysql_real_escape_string ожидает. link идентификатор на первом месте в mysqli_real_escape_string, тогда как строка, которой оставят, на первом месте в mysql_real_escape_string.

См. Также

mysqli_set_charset
mysqli_character_set_name

22.9.3.9.43. mysqli::real_query,mysqli_real_query

Copyright 1997-2012 PHP Documentation Group.

  • mysqli::real_query

    mysqli_real_query

    Выполните SQL-запрос

Описание

Объектно-ориентированный стиль

bool mysqli::real_query(string query);

Процедурный стиль

bool mysqli_real_query(mysqli link,
string query);

Выполняет единственный запрос против базы данных, результат которой может тогда быть получен или сохранил использование mysqli_store_result или mysqli_use_result функции.

Чтобы определить, должен ли данный запрос возвратить набор результатов или нет, см. mysqli_field_count.

Параметры

link

Процедурный стиль только: идентификатор ссылки, возвращенный mysqli_connect или mysqli_init

query

Запрос, как строка.

Данных в запросе нужно должным образом оставить.

Возвращаемые значения

Возвраты TRUE на успехе или FALSE при отказе.

См. Также

mysqli_query
mysqli_store_result
mysqli_use_result

22.9.3.9.44. mysqli::reap_async_query,mysqli_reap_async_query

Copyright 1997-2012 PHP Documentation Group.

  • mysqli::reap_async_query

    mysqli_reap_async_query

    Получите следствие асинхронного запроса

Описание

Объектно-ориентированный стиль

public mysqli_result mysqli::reap_async_query();

Процедурный стиль

mysqli_result mysqli_reap_async_query(mysql link);
Предупреждение

Эта функция iscurrently не задокументированный; только его список параметров доступен.

Получите следствие асинхронного запроса. Доступный только с mysqlnd.

Параметры

link

Процедурный стиль только: идентификатор ссылки, возвращенный mysqli_connect или mysqli_init

Возвращаемые значения

Возвраты mysqli_result в успехе, FALSE иначе.

См. Также

mysqli_poll

22.9.3.9.45. mysqli::refresh, mysqli_refresh

Copyright 1997-2012 PHP Documentation Group.

  • mysqli::refresh

    mysqli_refresh

    Обновления

Описание

Объектно-ориентированный стиль

public bool mysqli::refresh(int options);

Процедурный стиль

int mysqli_refresh(resource link,
int options);

Таблицы сбросов или кэши, или сбросы информация о сервере репликации.

Параметры

link

Процедурный стиль только: идентификатор ссылки, возвращенный mysqli_connect или mysqli_init

options

Опции, чтобы обновить, используя константы MYSQLI_REFRESH_* как задокументировано в пределах документации констант MySQLi.

См. также официальную документацию MySQL Refresh.

Возвращаемые значения

TRUE если обновление имело успех, иначе FALSE

См. Также

mysqli_poll

22.9.3.9.46. mysqli::release_savepoint,mysqli_release_savepoint

Copyright 1997-2012 PHP Documentation Group.

  • mysqli::release_savepoint

    mysqli_release_savepoint

    Откатывает транзакцию к именованной точке сохранения

Описание

Объектно-ориентированный стиль (метод):

public bool mysqli::release_savepoint(string name);

Процедурный стиль:

bool mysqli_release_savepoint(mysqli link,
string name);

Предупреждение

Эта функция iscurrently не задокументированный; только его список параметров доступен.

Параметры

link

Процедурный стиль только: идентификатор ссылки, возвращенный mysqli_connect или mysqli_init

name

Возвращаемые значения

Возвраты TRUE на успехе или FALSE при отказе.

См. Также

mysqli_rollback

22.9.3.9.47. mysqli::rollback, mysqli_rollback

Copyright 1997-2012 PHP Documentation Group.

  • mysqli::rollback

    mysqli_rollback

    Транзакция обратного тока рулонов

Описание

Объектно-ориентированный стиль

bool mysqli::rollback(int flags,
string name);

Процедурный стиль

bool mysqli_rollback(mysqli link,
int flags,
string name);

Откатывает текущую транзакцию для базы данных.

Параметры

link

Процедурный стиль только: идентификатор ссылки, возвращенный mysqli_connect или mysqli_init

flags

Битовая маска MYSQLI_TRANS_COR_* константы.

name

Если обеспечено тогда ROLLBACK/*name*/ выполняется.

Возвращаемые значения

Возвраты TRUE на успехе или FALSE при отказе.

Журнал изменений

Версия Описание
5.5.0 Добавленный flags и nameпараметры.

Примеры

Пример 22.140. mysqli::rollbackпример

Объектно-ориентированный стиль

<?php$mysqli = new mysqli("localhost", "my_user", "my_password", "world");/* check connection */if (mysqli_connect_errno()) {    printf("Connect failed: %s\n", mysqli_connect_error());    exit();}/* disable autocommit */$mysqli->autocommit(FALSE);$mysqli->query("CREATE TABLE myCity LIKE City");$mysqli->query("ALTER TABLE myCity Type=InnoDB");$mysqli->query("INSERT INTO myCity SELECT * FROM City LIMIT 50");/* commit insert */$mysqli->commit();/* delete all rows */$mysqli->query("DELETE FROM myCity");if ($result = $mysqli->query("SELECT COUNT(*) FROM myCity")) {    $row = $result->fetch_row();    printf("%d rows in table myCity.\n", $row[0]);    /* Free result */    $result->close();}/* Rollback */$mysqli->rollback();if ($result = $mysqli->query("SELECT COUNT(*) FROM myCity")) {    $row = $result->fetch_row();    printf("%d rows in table myCity (after rollback).\n", $row[0]);    /* Free result */    $result->close();}/* Drop table myCity */$mysqli->query("DROP TABLE myCity");$mysqli->close();?>   

Процедурный стиль

<?php$link = mysqli_connect("localhost", "my_user", "my_password", "world");/* check connection */if (mysqli_connect_errno()) {    printf("Connect failed: %s\n", mysqli_connect_error());    exit();}/* disable autocommit */mysqli_autocommit($link, FALSE);mysqli_query($link, "CREATE TABLE myCity LIKE City");mysqli_query($link, "ALTER TABLE myCity Type=InnoDB");mysqli_query($link, "INSERT INTO myCity SELECT * FROM City LIMIT 50");/* commit insert */mysqli_commit($link);/* delete all rows */mysqli_query($link, "DELETE FROM myCity");if ($result = mysqli_query($link, "SELECT COUNT(*) FROM myCity")) {    $row = mysqli_fetch_row($result);    printf("%d rows in table myCity.\n", $row[0]);    /* Free result */    mysqli_free_result($result);}/* Rollback */mysqli_rollback($link);if ($result = mysqli_query($link, "SELECT COUNT(*) FROM myCity")) {    $row = mysqli_fetch_row($result);    printf("%d rows in table myCity (after rollback).\n", $row[0]);    /* Free result */    mysqli_free_result($result);}/* Drop table myCity */mysqli_query($link, "DROP TABLE myCity");mysqli_close($link);?>   

Вышеупомянутые примеры выведут:

0 rows in table myCity.50 rows in table myCity (after rollback).

См. Также

mysqli_begin_transaction
mysqli_commit
mysqli_autocommit
mysqli_release_savepoint

22.9.3.9.48. mysqli::rpl_query_type,mysqli_rpl_query_type

Copyright 1997-2012 PHP Documentation Group.

  • mysqli::rpl_query_type

    mysqli_rpl_query_type

    Возвраты RPL запрашивают тип

Описание

Объектно-ориентированный стиль

int mysqli::rpl_query_type(string query);

Процедурный стиль

int mysqli_rpl_query_type(mysqli link,
string query);

Возвраты MYSQLI_RPL_MASTER , MYSQLI_RPL_SLAVE или MYSQLI_RPL_ADMIN в зависимости от типа запроса. INSERT, UPDATE и подобный основные запросы, SELECT ведомое устройство, и FLUSH, REPAIR и подобный администратор.

Предупреждение

Эта функция iscurrently не задокументированный; только его список параметров доступен.

Предупреждение

У этой функции есть beenDEPRECATED и УДАЛЕННЫЙ с PHP 5.3.0.

22.9.3.9.49. mysqli::savepoint,mysqli_savepoint

Copyright 1997-2012 PHP Documentation Group.

  • mysqli::savepoint

    mysqli_savepoint

    Установите именованную точку сохранения транзакции

Описание

Объектно-ориентированный стиль (метод):

public bool mysqli::savepoint(string name);

Процедурный стиль:

bool mysqli_savepoint(mysqli link,
string name);

Предупреждение

Эта функция iscurrently не задокументированный; только его список параметров доступен.

Параметры

link

Процедурный стиль только: идентификатор ссылки, возвращенный mysqli_connect или mysqli_init

name

Возвращаемые значения

Возвраты TRUE на успехе или FALSE при отказе.

См. Также

mysqli_commit

22.9.3.9.50. mysqli::select_db,mysqli_select_db

Copyright 1997-2012 PHP Documentation Group.

  • mysqli::select_db

    mysqli_select_db

    Выбирает базу данных значения по умолчанию для запросов базы данных

Описание

Объектно-ориентированный стиль

bool mysqli::select_db(string dbname);

Процедурный стиль

bool mysqli_select_db(mysqli link,
string dbname);

Выбирает базу данных значения по умолчанию, которая будет использоваться, выполняя запросы против соединения с базой данных.

Отметить

Эта функция должна только использоваться, чтобы изменить базу данных значения по умолчанию для соединения. Можно выбрать базу данных значения по умолчанию с 4-ым параметром в mysqli_connect.

Параметры

link

Процедурный стиль только: идентификатор ссылки, возвращенный mysqli_connect или mysqli_init

dbname

Имя базы данных.

Возвращаемые значения

Возвраты TRUE на успехе или FALSE при отказе.

Примеры

Пример 22.141. mysqli::select_dbпример

Объектно-ориентированный стиль

<?php$mysqli = new mysqli("localhost", "my_user", "my_password", "test");/* check connection */if (mysqli_connect_errno()) {    printf("Connect failed: %s\n", mysqli_connect_error());    exit();}/* return name of current default database */if ($result = $mysqli->query("SELECT DATABASE()")) {    $row = $result->fetch_row();    printf("Default database is %s.\n", $row[0]);    $result->close();}/* change db to world db */$mysqli->select_db("world");/* return name of current default database */if ($result = $mysqli->query("SELECT DATABASE()")) {    $row = $result->fetch_row();    printf("Default database is %s.\n", $row[0]);    $result->close();}$mysqli->close();?>   

Процедурный стиль

<?php$link = mysqli_connect("localhost", "my_user", "my_password", "test");/* check connection */if (mysqli_connect_errno()) {    printf("Connect failed: %s\n", mysqli_connect_error());    exit();}/* return name of current default database */if ($result = mysqli_query($link, "SELECT DATABASE()")) {    $row = mysqli_fetch_row($result);    printf("Default database is %s.\n", $row[0]);    mysqli_free_result($result);}/* change db to world db */mysqli_select_db($link, "world");/* return name of current default database */if ($result = mysqli_query($link, "SELECT DATABASE()")) {    $row = mysqli_fetch_row($result);    printf("Default database is %s.\n", $row[0]);    mysqli_free_result($result);}mysqli_close($link);?>   

Вышеупомянутые примеры выведут:

Default database is test.Default database is world.

См. Также

mysqli_connect
mysqli_real_connect

22.9.3.9.51. mysqli::send_query,mysqli_send_query

Copyright 1997-2012 PHP Documentation Group.

  • mysqli::send_query

    mysqli_send_query

    Отправьте запрос и возврат

Описание

Объектно-ориентированный стиль

bool mysqli::send_query(string query);

Процедурный стиль

bool mysqli_send_query(mysqli link,
string query);
Предупреждение

Эта функция iscurrently не задокументированный; только его список параметров доступен.

Предупреждение

У этой функции есть beenDEPRECATED и УДАЛЕННЫЙ с PHP 5.3.0.

22.9.3.9.52. mysqli::set_charset,mysqli_set_charset

Copyright 1997-2012 PHP Documentation Group.

  • mysqli::set_charset

    mysqli_set_charset

    Устанавливает клиентский набор символов значения по умолчанию

Описание

Объектно-ориентированный стиль

bool mysqli::set_charset(string charset);

Процедурный стиль

bool mysqli_set_charset(mysqli link,
string charset);

Устанавливает набор символов значения по умолчанию, который будет использоваться, отправляя данные с и на сервер базы данных.

Параметры

link

Процедурный стиль только: идентификатор ссылки, возвращенный mysqli_connect или mysqli_init

charset

Набор символов, который будет установлен как значение по умолчанию.

Возвращаемые значения

Возвраты TRUE на успехе или FALSE при отказе.

Примечания

Отметить

Чтобы использовать эту функцию на платформе Windows, Вы нуждаетесь в клиентской версии 4.1.11 библиотеки MySQL или выше (для MySQL 5.0, в котором Вы нуждаетесь 5.0.6 или выше).

Отметить

Это - привилегированный способ изменить набор символов. Используя mysqli_query установить это (такой как SET NAMES utf8) не рекомендуется. См. раздел понятий набора символов MySQL для получения дополнительной информации.

Примеры

Пример 22.142. mysqli::set_charsetпример

Объектно-ориентированный стиль

<?php$mysqli = new mysqli("localhost", "my_user", "my_password", "test");/* check connection */if (mysqli_connect_errno()) {    printf("Connect failed: %s\n", mysqli_connect_error());    exit();}/* change character set to utf8 */if (!$mysqli->set_charset("utf8")) {    printf("Error loading character set utf8: %s\n", $mysqli->error);} else {    printf("Current character set: %s\n", $mysqli->character_set_name());}$mysqli->close();?>   

Процедурный стиль

<?php$link = mysqli_connect('localhost', 'my_user', 'my_password', 'test');/* check connection */if (mysqli_connect_errno()) {    printf("Connect failed: %s\n", mysqli_connect_error());    exit();}/* change character set to utf8 */if (!mysqli_set_charset($link, "utf8")) {    printf("Error loading character set utf8: %s\n", mysqli_error($link));} else {    printf("Current character set: %s\n", mysqli_character_set_name($link));}mysqli_close($link);?>   

Вышеупомянутые примеры выведут:

Current character set: utf8

См. Также

mysqli_character_set_name
mysqli_real_escape_string
Список наборов символов, которые поддерживает MySQL

22.9.3.9.53. mysqli::set_local_infile_default,mysqli_set_local_infile_default

Copyright 1997-2012 PHP Documentation Group.

  • mysqli::set_local_infile_default

    mysqli_set_local_infile_default

    Сбрасывает определяемый пользователем обработчик для загрузки локальная infile команда

Описание

void mysqli_set_local_infile_default(mysqli link);

Деактивировал a LOAD DATA INFILE LOCAL обработчик, ранее установленный с mysqli_set_local_infile_handler.

Параметры

link

Процедурный стиль только: идентификатор ссылки, возвращенный mysqli_connect или mysqli_init

Возвращаемые значения

Никакое значение не возвращается.

Примеры

См. mysqli_set_local_infile_handler примеры

См. Также

mysqli_set_local_infile_handler

22.9.3.9.54. mysqli::set_local_infile_handler,mysqli_set_local_infile_handler

Copyright 1997-2012 PHP Documentation Group.

  • mysqli::set_local_infile_handler

    mysqli_set_local_infile_handler

    Установите функцию обратного вызова для ДАННЫХ ЗАГРУЗКИ ЛОКАЛЬНАЯ команда INFILE

Описание

Объектно-ориентированный стиль

bool mysqli::set_local_infile_handler(mysqli link,
callable read_func);

Процедурный стиль

bool mysqli_set_local_infile_handler(mysqli link,
callable read_func);

Установите функцию обратного вызова для ДАННЫХ ЗАГРУЗКИ ЛОКАЛЬНАЯ команда INFILE

Задача обратных вызовов состоит в том, чтобы считать ввод из файла, определенного в LOAD DATA LOCAL INFILE и переформатировать это в формат, понятый под LOAD DATA INFILE.

Возвращенные данные должны соответствовать формат, определенный в LOAD DATA

Параметры

link

Процедурный стиль только: идентификатор ссылки, возвращенный mysqli_connect или mysqli_init

read_func

Функция обратного вызова или объектный метод, берущий следующие параметры:

stream

Поток PHP связался с командами INFILE SQL

&buffer

Строковый буфер, чтобы сохранить переписанный ввод в

buflen

Максимальное количество символов, которые будут сохранены в буфере

&errormsg

Если ошибка происходит, можно сохранить сообщение об ошибке в здесь

Функция обратного вызова должна возвратить число символов, сохраненных в buffer или отрицательная величина, если ошибка произошла.

Возвращаемые значения

Возвраты TRUE на успехе или FALSE при отказе.

Примеры

Пример 22.143. mysqli::set_local_infile_handlerпример

Объектно-ориентированный стиль

<?php  $db = mysqli_init();  $db->real_connect("localhost","root","","test");  function callme($stream, &$buffer, $buflen, &$errmsg)  {    $buffer = fgets($stream);    echo $buffer;    // convert to upper case and replace "," delimiter with [TAB]    $buffer = strtoupper(str_replace(",", "\t", $buffer));    return strlen($buffer);  }  echo "Input:\n";  $db->set_local_infile_handler("callme");  $db->query("LOAD DATA LOCAL INFILE 'input.txt' INTO TABLE t1");  $db->set_local_infile_default();  $res = $db->query("SELECT * FROM t1");  echo "\nResult:\n";  while ($row = $res->fetch_assoc()) {    echo join(",", $row)."\n";  }?>   

Процедурный стиль

<?php  $db = mysqli_init();  mysqli_real_connect($db, "localhost","root","","test");  function callme($stream, &$buffer, $buflen, &$errmsg)  {    $buffer = fgets($stream);    echo $buffer;    // convert to upper case and replace "," delimiter with [TAB]    $buffer = strtoupper(str_replace(",", "\t", $buffer));    return strlen($buffer);  }  echo "Input:\n";  mysqli_set_local_infile_handler($db, "callme");  mysqli_query($db, "LOAD DATA LOCAL INFILE 'input.txt' INTO TABLE t1");  mysqli_set_local_infile_default($db);  $res = mysqli_query($db, "SELECT * FROM t1");  echo "\nResult:\n";  while ($row = mysqli_fetch_assoc($res)) {    echo join(",", $row)."\n";  }?>   

Вышеупомянутые примеры выведут:

Input:23,foo42,barOutput:23,FOO42,BAR

См. Также

mysqli_set_local_infile_default

22.9.3.9.55. mysqli::$sqlstate, mysqli_sqlstate

Copyright 1997-2012 PHP Documentation Group.

  • mysqli::$sqlstate

    mysqli_sqlstate

    Возвращает ошибку SQLSTATE из предыдущей работы MySQL

Описание

Объектно-ориентированный стиль

string mysqli->sqlstate ;

Процедурный стиль

string mysqli_sqlstate(mysqli link);

Возвращает строку, содержащую код ошибки SQLSTATE для последней ошибки. Код ошибки состоит из пяти символов. '00000' средства никакая ошибка. Значения определяются ANSI SQL и ODBC. Для списка возможных значений см. http://dev.mysql.com/doc/mysql/en/error-handling.html.

Отметить

Отметьте, что не все ошибки MySQL все же отображаются на SQLSTATE's. Значение HY000 (общая ошибка), используется для неотображенных ошибок.

Параметры

link

Процедурный стиль только: идентификатор ссылки, возвращенный mysqli_connect или mysqli_init

Возвращаемые значения

Возвращает строку, содержащую код ошибки SQLSTATE для последней ошибки. Код ошибки состоит из пяти символов. '00000' средства никакая ошибка.

Примеры

Пример 22.144. $mysqli->sqlstate пример

Объектно-ориентированный стиль

<?php$mysqli = new mysqli("localhost", "my_user", "my_password", "world");/* check connection */if (mysqli_connect_errno()) {    printf("Connect failed: %s\n", mysqli_connect_error());    exit();}/* Table City already exists, so we should get an error */if (!$mysqli->query("CREATE TABLE City (ID INT, Name VARCHAR(30))")) {    printf("Error - SQLSTATE %s.\n", $mysqli->sqlstate);}$mysqli->close();?>   

Процедурный стиль

<?php$link = mysqli_connect("localhost", "my_user", "my_password", "world");/* check connection */if (mysqli_connect_errno()) {    printf("Connect failed: %s\n", mysqli_connect_error());    exit();}/* Table City already exists, so we should get an error */if (!mysqli_query($link, "CREATE TABLE City (ID INT, Name VARCHAR(30))")) {    printf("Error - SQLSTATE %s.\n", mysqli_sqlstate($link));}mysqli_close($link);?>   

Вышеупомянутые примеры выведут:

Error - SQLSTATE 42S01.

См. Также

mysqli_errno
mysqli_error

22.9.3.9.56. mysqli::ssl_set, mysqli_ssl_set

Copyright 1997-2012 PHP Documentation Group.

  • mysqli::ssl_set

    mysqli_ssl_set

    Используемый для того, чтобы установить безопасные соединения, используя SSL

Описание

Объектно-ориентированный стиль

bool mysqli::ssl_set(string key,
string cert,
string ca,
string capath,
string cipher);

Процедурный стиль

bool mysqli_ssl_set(mysqli link,
string key,
string cert,
string ca,
string capath,
string cipher);

Используемый для того, чтобы установить безопасные соединения, используя SSL. Это нужно вызвать прежде mysqli_real_connect. Эта функция ничего не делает, если поддержка OpenSSL не включается.

Отметьте, что MySQL Native Driver не поддерживает SSL прежде, чем PHP 5.3.3, так вызывая эту функцию при использовании MySQL Native Driver приведет к ошибке. MySQL Native Driver включается по умолчанию на Microsoft Windows от версии 5.3 PHP вперед.

Параметры

link

Процедурный стиль только: идентификатор ссылки, возвращенный mysqli_connect или mysqli_init

key

Путь к файлу ключей.

cert

Путь к файлу сертификата.

ca

Путь к файлу центра сертификации.

capath

Путь к каталогу, который содержит доверяемые сертификаты CA SSL в формате PEM.

cipher

Список допустимых шифров, чтобы использовать для шифрования SSL.

Любые неиспользованные параметры SSL могут быть даны как NULL

Возвращаемые значения

Эта функция всегда возвращается TRUE значение. Если установка SSL является неправильной mysqli_real_connect возвратит ошибку, когда Вы пытаетесь соединиться.

См. Также

mysqli_options
mysqli_real_connect

22.9.3.9.57. mysqli::stat, mysqli_stat

Copyright 1997-2012 PHP Documentation Group.

  • mysqli::stat

    mysqli_stat

    Получает состояние существующей системы

Описание

Объектно-ориентированный стиль

string mysqli::stat();

Процедурный стиль

string mysqli_stat(mysqli link);

mysqli_stat возвращает строку, содержащую информацию, подобную обеспеченному 'mysqladmin состояние' команда. Это включает время работы в секундах и числе выполнения потоков, вопросов, перезагрузок, и открытых таблиц.

Параметры

link

Процедурный стиль только: идентификатор ссылки, возвращенный mysqli_connect или mysqli_init

Возвращаемые значения

Строка, описывающая состояние сервера. FALSE если ошибка произошла.

Примеры

Пример 22.145. mysqli::statпример

Объектно-ориентированный стиль

<?php$mysqli = new mysqli("localhost", "my_user", "my_password", "world");/* check connection */if (mysqli_connect_errno()) {    printf("Connect failed: %s\n", mysqli_connect_error());    exit();}printf ("System status: %s\n", $mysqli->stat());$mysqli->close();?>   

Процедурный стиль

<?php$link = mysqli_connect("localhost", "my_user", "my_password", "world");/* check connection */if (mysqli_connect_errno()) {    printf("Connect failed: %s\n", mysqli_connect_error());    exit();}printf("System status: %s\n", mysqli_stat($link));mysqli_close($link);?>   

Вышеупомянутые примеры выведут:

System status: Uptime: 272  Threads: 1  Questions: 5340  Slow queries: 0Opens: 13  Flush tables: 1  Open tables: 0  Queries per second avg: 19.632Memory in use: 8496K  Max memory used: 8560K

См. Также

mysqli_get_server_info

22.9.3.9.58. mysqli::stmt_init,mysqli_stmt_init

Copyright 1997-2012 PHP Documentation Group.

  • mysqli::stmt_init

    mysqli_stmt_init

    Инициализирует оператор и возвращает объект для использования с mysqli_stmt_prepare

Описание

Объектно-ориентированный стиль

mysqli_stmt mysqli::stmt_init();

Процедурный стиль

mysqli_stmt mysqli_stmt_init(mysqli link);

Выделяет и инициализирует объект оператора, подходящий для mysqli_stmt_prepare.

Отметить

Любые последующие звонки в любую функцию mysqli_stmt не перестанут работать до mysqli_stmt_prepare был вызван.

Параметры

link

Процедурный стиль только: идентификатор ссылки, возвращенный mysqli_connect или mysqli_init

Возвращаемые значения

Возвращает объект.

См. Также

mysqli_stmt_prepare

22.9.3.9.59. mysqli::store_result,mysqli_store_result

Copyright 1997-2012 PHP Documentation Group.

  • mysqli::store_result

    mysqli_store_result

    Передает набор результатов от последнего запроса

Описание

Объектно-ориентированный стиль

mysqli_result mysqli::store_result();

Процедурный стиль

mysqli_result mysqli_store_result(mysqli link);

Передает набор результатов от последнего запроса на соединении с базой данных, представленном link параметр, который будет использоваться с mysqli_data_seek функция.

Параметры

link

Процедурный стиль только: идентификатор ссылки, возвращенный mysqli_connect или mysqli_init

Возвращаемые значения

Возвращает буферизованный объект результата или FALSE если ошибка произошла.

Отметить

mysqli_store_result возвраты FALSE в случае, если запрос не возвращал набор результатов (если запрос был, например оператор INSERT). Эта функция также возвращается FALSE если чтение набора результатов перестало работать. Можно проверить, есть ли у Вас ошибка, проверяя если mysqli_error не возвращает пустую строку, если mysqli_errno возвращает не нулевое значение, или если mysqli_field_count возвращает не нулевое значение. Также возможная причина этого функционального возврата FALSE после успешного вызова к mysqli_query может быть слишком большой набор результатов (память для него не может быть выделена). Если mysqli_field_count возвращает ненулевое значение, оператор должен был произвести непустой набор результатов.

Примечания

Отметить

Хотя это всегда - хорошая практика, чтобы освободить память, используемую результатом запроса, используя mysqli_free_result функция, передавая большие наборы результатов, используя mysqli_store_result это становится особенно важным.

Примеры

См. mysqli_multi_query.

См. Также

mysqli_real_query
mysqli_use_result

22.9.3.9.60. mysqli::$thread_id,mysqli_thread_id

Copyright 1997-2012 PHP Documentation Group.

  • mysqli::$thread_id

    mysqli_thread_id

    Возвращает ID потока для текущего соединения

Описание

Объектно-ориентированный стиль

int mysqli->thread_id ;

Процедурный стиль

int mysqli_thread_id(mysqli link);

mysqli_thread_id функционируйте возвращает ID потока для текущего соединения, которое может тогда быть уничтожено, используя mysqli_kill функция. Если соединение теряется, и Вы повторно соединяетесь с mysqli_ping, ID потока будет другим. Поэтому следует получить ID потока только, когда Вы нуждаетесь в нем.

Отметить

ID потока присваивается на основе соединения соединением. Следовательно, если соединение будет повреждено и затем восстановит ID нового потока, то будет присвоен.

Чтобы уничтожить рабочий запрос, можно использовать команду SQL KILL QUERY processid.

Параметры

link

Процедурный стиль только: идентификатор ссылки, возвращенный mysqli_connect или mysqli_init

Возвращаемые значения

Возвращает ID Потока для текущего соединения.

Примеры

Пример 22.146. $mysqli->thread_id пример

Объектно-ориентированный стиль

<?php$mysqli = new mysqli("localhost", "my_user", "my_password", "world");/* check connection */if (mysqli_connect_errno()) {    printf("Connect failed: %s\n", mysqli_connect_error());    exit();}/* determine our thread id */$thread_id = $mysqli->thread_id;/* Kill connection */$mysqli->kill($thread_id);/* This should produce an error */if (!$mysqli->query("CREATE TABLE myCity LIKE City")) {    printf("Error: %s\n", $mysqli->error);    exit;}/* close connection */$mysqli->close();?>   

Процедурный стиль

<?php$link = mysqli_connect("localhost", "my_user", "my_password", "world");/* check connection */if (mysqli_connect_errno()) {    printf("Connect failed: %s\n", mysqli_connect_error());    exit();}/* determine our thread id */$thread_id = mysqli_thread_id($link);/* Kill connection */mysqli_kill($link, $thread_id);/* This should produce an error */if (!mysqli_query($link, "CREATE TABLE myCity LIKE City")) {    printf("Error: %s\n", mysqli_error($link));    exit;}/* close connection */mysqli_close($link);?>   

Вышеупомянутые примеры выведут:

Error: MySQL server has gone away

См. Также

mysqli_kill

22.9.3.9.61. mysqli::thread_safe,mysqli_thread_safe

Copyright 1997-2012 PHP Documentation Group.

  • mysqli::thread_safe

    mysqli_thread_safe

    Возвраты, дается ли потокобезопасность или нет

Описание

Процедурный стиль

bool mysqli_thread_safe();

Говорит, компилируется ли клиентская библиотека как ориентированная на многопотоковое исполнение.

Возвращаемые значения

TRUE если клиентская библиотека ориентирована на многопотоковое исполнение, иначе FALSE .

22.9.3.9.62. mysqli::use_result,mysqli_use_result

Copyright 1997-2012 PHP Documentation Group.

  • mysqli::use_result

    mysqli_use_result

    Инициируйте извлечение набора результатов

Описание

Объектно-ориентированный стиль

mysqli_result mysqli::use_result();

Процедурный стиль

mysqli_result mysqli_use_result(mysqli link);

Используемый, чтобы инициировать извлечение набора результатов от последнего запроса, выполняемого, используя mysqli_real_query функция на соединении с базой данных.

Или это или mysqli_store_result функция должна быть вызвана прежде, чем результаты запроса смогут быть получены, и один, или другой должен быть вызван, чтобы предотвратить следующий запрос на том соединении с базой данных от сбоя.

Отметить

mysqli_use_result функция не передает весь набор результатов от базы данных и следовательно не может использоваться функции такой как mysqli_data_seek перемещаться в определенную строку в пределах набора. Чтобы использовать эту функциональность, набор результатов должен быть сохранен, используя mysqli_store_result. Нельзя использовать mysqli_use_result если большая обработка на стороне клиента будет выполняться, то так как это будет связывать сервер и препятствовать тому, чтобы другие потоки обновили любые таблицы, от которых выбираются данные.

Возвращаемые значения

Возвращает небуферизованный объект результата или FALSE если ошибка произошла.

Примеры

Пример 22.147. mysqli::use_resultпример

Объектно-ориентированный стиль

<?php$mysqli = new mysqli("localhost", "my_user", "my_password", "world");/* check connection */if (mysqli_connect_errno()) {    printf("Connect failed: %s\n", mysqli_connect_error());    exit();}$query  = "SELECT CURRENT_USER();";$query .= "SELECT Name FROM City ORDER BY ID LIMIT 20, 5";/* execute multi query */if ($mysqli->multi_query($query)) {    do {        /* store first result set */        if ($result = $mysqli->use_result()) {            while ($row = $result->fetch_row()) {                printf("%s\n", $row[0]);            }            $result->close();        }        /* print divider */        if ($mysqli->more_results()) {            printf("-----------------\n");        }    } while ($mysqli->next_result());}/* close connection */$mysqli->close();?>   

Процедурный стиль

<?php$link = mysqli_connect("localhost", "my_user", "my_password", "world");/* check connection */if (mysqli_connect_errno()) {    printf("Connect failed: %s\n", mysqli_connect_error());    exit();}$query  = "SELECT CURRENT_USER();";$query .= "SELECT Name FROM City ORDER BY ID LIMIT 20, 5";/* execute multi query */if (mysqli_multi_query($link, $query)) {    do {        /* store first result set */        if ($result = mysqli_use_result($link)) {            while ($row = mysqli_fetch_row($result)) {                printf("%s\n", $row[0]);            }            mysqli_free_result($result);        }        /* print divider */        if (mysqli_more_results($link)) {            printf("-----------------\n");        }    } while (mysqli_next_result($link));}/* close connection */mysqli_close($link);?>  

Вышеупомянутые примеры выведут:

my_user@localhost-----------------AmersfoortMaastrichtDordrechtLeidenHaarlemmermeer

См. Также

mysqli_real_query
mysqli_store_result

22.9.3.9.63. mysqli::$warning_count,mysqli_warning_count

Copyright 1997-2012 PHP Documentation Group.

  • mysqli::$warning_count

    mysqli_warning_count

    Возвращает число предупреждений от последнего запроса для данной ссылки

Описание

Объектно-ориентированный стиль

int mysqli->warning_count ;

Процедурный стиль

int mysqli_warning_count(mysqli link);

Возвращает число предупреждений от последнего запроса в соединении.

Отметить

Для того, чтобы получить предупреждающие сообщения можно использовать команду SQL SHOW WARNINGS [limit row_count].

Параметры

link

Процедурный стиль только: идентификатор ссылки, возвращенный mysqli_connect или mysqli_init

Возвращаемые значения

Число предупреждений или нуля, если нет никаких предупреждений.

Примеры

Пример 22.148. $mysqli->warning_count пример

Объектно-ориентированный стиль

<?php$mysqli = new mysqli("localhost", "my_user", "my_password", "world");/* check connection */if (mysqli_connect_errno()) {    printf("Connect failed: %s\n", mysqli_connect_error());    exit();}$mysqli->query("CREATE TABLE myCity LIKE City");/* a remarkable city in Wales */$query = "INSERT INTO myCity (CountryCode, Name) VALUES('GBR',        'Llanfairpwllgwyngyllgogerychwyrndrobwllllantysiliogogogoch')";$mysqli->query($query);if ($mysqli->warning_count) {    if ($result = $mysqli->query("SHOW WARNINGS")) {        $row = $result->fetch_row();        printf("%s (%d): %s\n", $row[0], $row[1], $row[2]);        $result->close();    }}/* close connection */$mysqli->close();?>   

Процедурный стиль

<?php$link = mysqli_connect("localhost", "my_user", "my_password", "world");/* check connection */if (mysqli_connect_errno()) {    printf("Connect failed: %s\n", mysqli_connect_error());    exit();}mysqli_query($link, "CREATE TABLE myCity LIKE City");/* a remarkable long city name in Wales */$query = "INSERT INTO myCity (CountryCode, Name) VALUES('GBR',        'Llanfairpwllgwyngyllgogerychwyrndrobwllllantysiliogogogoch')";mysqli_query($link, $query);if (mysqli_warning_count($link)) {    if ($result = mysqli_query($link, "SHOW WARNINGS")) {        $row = mysqli_fetch_row($result);        printf("%s (%d): %s\n", $row[0], $row[1], $row[2]);        mysqli_free_result($result);    }}/* close connection */mysqli_close($link);?>   

Вышеупомянутые примеры выведут:

Warning (1264): Data truncated for column 'Name' at row 1

См. Также

mysqli_errno
mysqli_error
mysqli_sqlstate