PHP.mk документација

mysqli::options

Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.

mysqli.options.php PHP.net прокси Преводот е вчитан
Оригинал на PHP.net
Патека mysqli.options.php Локална патека за оваа страница.
Извор php.net/manual/en Оригиналниот HTML се реупотребува и локално се стилизира.
Режим Прокси + преведен приказ Кодовите, табелите и белешките остануваат читливи во истиот тек.
mysqli::options

Референца за `mysqli.options.php` со подобрена типографија и навигација.

mysqli.options.php

mysqli::options

mysqli_options

класата mysqli_driver

mysqli::options -- mysqli_optionsПостави опции

= NULL

Напиши целосна ознака на елемент

public mysqli::options(int $option, string|int $value): bool

Процедурален стил

mysqli_options(mysqli $mysql, int $option, string|int $value): bool

Се користи за поставување дополнителни опции за поврзување и влијаење на однесувањето на врската.

Оваа функција може да се повика повеќе пати за поставување на неколку опции.

mysqli_options() треба да се повика по mysqli_init() во процесот после mysqli_real_connect().

Параметри

mysql

објектот како свој прв аргумент. mysqli Само процедурален стил: А mysqli_connect() or mysqli_init()

option

Опцијата што сакате да ја поставите. Може да биде една од следниве вредности:

Валидни опции
Име = NULL
MYSQLI_OPT_CONNECT_TIMEOUT Време на истекување на врската во секунди
MYSQLI_OPT_READ_TIMEOUT Време на истекување на резултатот од извршувањето на командата во секунди. Достапно од PHP 7.2.0.
MYSQLI_OPT_LOCAL_INFILE Овозможи/овозможи употреба на LOAD LOCAL INFILE
MYSQLI_OPT_LOAD_DATA_LOCAL_DIR Директориум што ќе се користи за LOAD DATA LOCAL INFILE.
MYSQLI_INIT_COMMAND Команда за извршување по поврзувањето со MySQL сервер
MYSQLI_SET_CHARSET_NAME Комплетот знаци што ќе се постави како стандарден.
MYSQLI_READ_DEFAULT_FILE Читај опции од именувана датотека со опции наместо my.cnf Не е поддржано од mysqlnd.
MYSQLI_READ_DEFAULT_GROUP Читај опции од именуваната група од my.cnf или датотеката наведена со MYSQL_READ_DEFAULT_FILE. Не е поддржано од mysqlnd.
MYSQLI_SERVER_PUBLIC_KEY RSA датотека со јавен клуч што се користи со автентикација базирана на SHA-256.
MYSQLI_OPT_NET_CMD_BUFFER_SIZE Големината на внатрешниот бафер за команди/мрежа. Важи само за mysqlnd.
MYSQLI_OPT_NET_READ_BUFFER_SIZE Максимална големина на парче за читање во бајти при читање на телото на пакетот со команди на MySQL. Важи само за mysqlnd.
MYSQLI_OPT_INT_AND_FLOAT_NATIVE Конвертирај ги целите броеви и колоните со децимални броеви назад во PHP броеви кога користиш неподготвени изјави. Важи само за mysqlnd.
MYSQLI_OPT_SSL_VERIFY_SERVER_CERT Дали да се провери сертификатот на серверот или не.
MYSQLI_OPT_CAN_HANDLE_EXPIRED_PASSWORDS Дали клиентот треба да прифаќа истечени лозинки.
1 Дали да се користи компресија на мрежна комуникација.
value

Вредноста за опцијата.

Вратени вредности

Патеката до PHP скриптата што треба да се провери. true на успех или false при неуспех.

Errors/Exceptions

Ако е овозможено известување за грешки на mysqli (MYSQLI_REPORT_ERROR) и бараната операција не успее, се генерира предупредување. Ако, дополнително, режимот е поставен на MYSQLI_REPORT_STRICT, а mysqli_sql_exception наместо тоа се фрла.

Примери

Константи за известување за грешки mysqli_real_connect().

Белешки

Забелешка:

MySQLnd секогаш претпоставува стандарден сет на знаци на серверот. Овој сет на знаци се испраќа за време на ракувањето/автентикацијата на врската, што mysqlnd ќе го користи.

Libmysqlclient го користи стандардниот сет на знаци поставен во my.cnf или со експлицитен повик до mysqli_options() пред да се повика mysqli_real_connect(), но по mysqli_init().

Види Исто така

Белешки од корисници 6 белешки

php на darkain dot com
пред 7 години
There is an undocumented option: MYSQLI_OPT_READ_TIMEOUT. This is similar to MYSQLI_OPT_CONNECT_TIMEOUT in theory, but has a slightly different application. Connection timeout only specifies the wait time for the initial TCP connection. Once that is created, the timeout no longer applies. Read timeout, however, is from the time the TCP connection is created until the first packet of actual data is received. There are instances where a TCP connection can be established, but the MySQL server stalls indefinitely, preventing execution from ever returning to PHP. Specifying a read timeout alleviates this condition, whereas connect timeout wouldn't. 

If the MYSQLI_OPT_READ_TIMEOUT constant isn't defined, it is still supported on versions where that isn't the case. You can define it yourself in older PHP versions with the following code.

<?php
if (!defined('MYSQLI_OPT_READ_TIMEOUT')) {
    define ('MYSQLI_OPT_READ_TIMEOUT', 11);
}
?>

You can then use read timeout the same way you could a connect timeout as follows. Please note that since these are two different timeout values for two different parts of the entire connection process, the timeouts do stack (eg: 10 seconds connect timeout + 10 seconds read timeout = maximum possible timeout of 20 seconds)

<?php
//create the object
$connection = mysqli_init();

//specify the connection timeout
$connection->options(MYSQLI_OPT_CONNECT_TIMEOUT, 10);

//specify the read timeout
$connection->options(MYSQLI_OPT_READ_TIMEOUT, 10);

//initiate the connection to the server, using both previously specified timeouts
$connection->real_connect('server', 'user', 'pass', 'database');
?>
Гај Сарторели
пред 2 години
The `MYSQLI_OPT_SSL_VERIFY_SERVER_CERT` seems to always fail, with `options()` always returning false.
Use the `MYSQLI_CLIENT_SSL_DONT_VERIFY_SERVER_CERT` flag with `real_connect()` instead.
fluppy
19 години пред
Here es little example to create a SSL Connection

<?php

$db = mysqli_init();

/*
When you want so use a separate cnf
$test = $db->options(MYSQLI_EAD_DEFAULT_FILE,'myother.cnf');
*/

$db->ssl_set('server-key.pem','server-cert.pem',
'cacert.pem',NULL,NULL);

$db->real_connect('localhost','root','','mydb');

//Here some query

$db->close();

?>
puneetsharam9 на hotmail точка com
3 години пред
With Objective Approach  
init of mysqli is depreciated from 8.1 it seem so
You could have to use an empty __construct()
So You have proper int and float 

class DB extends \mysqli {
   private function __construct(
           private $_user = DBUSER,
           private $_pass = DBPWD,
           private $_dbName = DBNAME,
           private $_dbHost = DBHOST,
   ) {
      parent::__construct();
      parent::options(MYSQLI_OPT_INT_AND_FLOAT_NATIVE, 1);
      parent::real_connect($this->_dbHost, $this->_user, $this->_pass, $this->_dbName);
      }
   }
Процедурен човек
пред 4 години
Although it is not explained on the manual, MYSQLI_OPT_SSL_VERIFY_SERVER_CERT is an option only valid for mysqlnd and will raise an error if used with mysqli.
king на bobfish точка org
пред 18 години
Example on using mysqli_options to increase size of max_allowed_packet for working with big blobs.

function dbConnect()
{
   $user = 'jomama';
   $pass = 'cartoon';
   $dbName = 'LifeCycle';
   $host = 'localhost';

   $mysqli = mysqli_init();
   mysqli_options($mysqli,MYSQLI_READ_DEFAULT_GROUP,
                                    "max_allowed_packet=50M");
   mysqli_real_connect($mysqli,$host, $user, $pass,$dbName) 
                  or die ('<P>Unable to connect</P>');

   return $mysqli;
}
На оваа страница

Автоматски outline од активната документација.

Насловите ќе се појават тука по вчитување.

Попрегледно читање

Примерите, changelog табелите и user notes се визуелно издвоени за да не се губат во долгата содржина.

Брз совет Користи го outline-от Скокни директно на главните секции од активната страница.
Извор Оригиналниот линк останува достапен Кога ти треба целосен upstream context, отвори го PHP.net во нов tab.