Copyright 1997-2010 the PHP Documentation Group.
Copyright 1997-2010 the PHP Documentation Group.
In order to have these functions available, you must compile PHP with support for the mysqli extension.
The mysqli extension is designed to work with MySQL version 4.1.13 or newer, or 5.0.7 or newer. For previous versions, please see the MySQL extension documentation.
Copyright 1997-2010 the PHP Documentation Group.
        The mysqli extension was introduced with PHP
        version 5.0.0. The MySQL Native Driver was included in PHP
        version 5.3.0.
      
Copyright 1997-2010 the PHP Documentation Group.
The common Unix distributions include binary versions of PHP that can be installed. Although these binary versions are typically built with support for MySQL extensions enabled, the extension libraries themselves may need to be installed using an additional package. Check the package manager than comes with your chosen distribution for availability.
          Unless your Unix distribution comes with a binary package of
          PHP with the mysqli extension available,
          you will need to build PHP from source code. Building PHP from
          source allows you to specify the MySQL extensions you want to
          use, as well as your choice of client library for each
          extension.
        
Copyright 1997-2010 the PHP Documentation Group.
            If building from source code, to ensure that the
            mysqli extension for PHP is enabled, you
            will need to configure the PHP source code to use
            mysqli. This is achieved by running the
            configure script with the option
            --with-mysqli=mysql_config_path/mysql_config,
            prior to building PHP. This will enable
            mysqli and it will use the MySQL Client
            Library (libmysql) to communicate with the MySQL Server.
          
            The mysql_config_path represents the
            location of the mysql_config program that
            comes with MySQL Server.
          
Copyright 1997-2010 the PHP Documentation Group.
            With versions of PHP 5.3.0 and newer,
            mysqli uses MySQL Native Driver by
            default. This gives a number of benefits over
            libmysql.
          
This is the recommended option, as using the MySQL Native Driver results in improved performance and gives access to features not available when using the MySQL Client Library. Refer to What is PHP's MySQL Native Driver? for a brief overview of the advantages of MySQL Native Driver.
            To use MySQL Native Driver with mysqli
            you need to configure the PHP source code using the
            --with-mysqli=mysqlnd option, prior to
            building PHP.
          
            Note that it is possible to freely mix MySQL extensions and
            client libraries. For example, it is possible to enable the
            MySQL extension to use the MySQL Client Library (libmysql),
            while configuring the mysqli extension to
            use the MySQL Native Driver. However, all permutations of
            extension and client library are possible.
          
            The following example builds the MySQL extension to use the
            MySQL Client Library, and the mysqli and
            PDO MYSQL extensions to use the MySQL Native Driver:
          
./configure --with-mysql=/usr/bin/mysql_config \ --with-mysqli=mysqlnd \ --with-pdo-mysql=mysqlnd [other options]
Copyright 1997-2010 the PHP Documentation Group.
On Windows, PHP is most commonly installed using the binary installer.
Copyright 1997-2010 the PHP Documentation Group.
            Once PHP has been installed, some configuration is required
            to enable mysqli and specify the client
            library you want it to use.
          
            The mysqli extension is not enabled by
            default, so the php_mysqli.dll DLL must
            be enabled inside of php.ini. In order
            to do this you need to find the php.ini
            file (typically located in c:\php), and
            make sure you remove the comment (semi-colon) from the start
            of the line extension=php_mysqli.dll, in
            the section marked [PHP_MYSQLI].
          
            Also, if you want to use the MySQL Client Library with
            mysqli, you need to make sure PHP can
            access the client library file. The MySQL Client Library is
            included as a file named libmysql.dll
            in the Windows PHP distribution. This file needs to be
            available in the Windows system's PATH
            environment variable, so that it can be successfully loaded.
            See the FAQ titled
            "How
            do I add my PHP directory to the PATH on
            Windows" for information on how to do this.
            Copying libmysql.dll to the Windows
            system directory (typically
            c:\Windows\system) also works, as the
            system directory is by default in the system's
            PATH. However, this practice is strongly
            discouraged.
          
            As with enabling any PHP extension (such as
            php_mysqli.dll), the PHP directive
            extension_dir
            should be set to the directory where the PHP extensions are
            located. See also the
            Manual
            Windows Installation Instructions. An example
            extension_dir value for PHP 5 is
            c:\php\ext.
          
              If when starting the web server an error similar to the
              following occurs: "Unable to load dynamic
              library './php_mysqli.dll'", this
              is because php_mysqli.dll and/or
              libmysql.dll cannot be found by the
              system.
            
Copyright 1997-2010 the PHP Documentation Group.
            On Windows, for PHP versions 5.3 and newer, the
            mysqli extension is enabled and uses the
            MySQL Native Driver by default. This means you don't
            need to worry about configuring access to
            libmysql.dll.
          
Copyright 1997-2010 the PHP Documentation Group.
The behaviour of these functions is affected by settings in php.ini.
Table 22.8. MySQLi Configuration Options
| Name | Default | Changeable | Changelog | 
|---|---|---|---|
| mysqli.allow_persistent | "1" | PHP_INI_SYSTEM | Available since PHP 5.3.0. | 
| mysqli.max_persistent | "-1" | PHP_INI_SYSTEM | Available since PHP 5.3.0. | 
| mysqli.max_links | "-1" | PHP_INI_SYSTEM | Available since PHP 5.0.0. | 
| mysqli.default_port | "3306" | PHP_INI_ALL | Available since PHP 5.0.0. | 
| mysqli.default_socket | NULL | PHP_INI_ALL | Available since PHP 5.0.0. | 
| mysqli.default_host | NULL | PHP_INI_ALL | Available since PHP 5.0.0. | 
| mysqli.default_user | NULL | PHP_INI_ALL | Available since PHP 5.0.0. | 
| mysqli.default_pw | NULL | PHP_INI_ALL | Available since PHP 5.0.0. | 
| mysqli.reconnect | "0" | PHP_INI_SYSTEM | Available since PHP 4.3.5. | 
| mysqli.allow_local_infile | "1" | PHP_INI_SYSTEM | Available since PHP 5.2.4. | 
| mysqli.cache_size | "2000" | PHP_INI_SYSTEM | Available since PHP 5.3.0. | 
For further details and definitions of the preceding PHP_INI_* constants, see the chapter on configuration changes.
Here's a short explanation of the configuration directives.
- 
              
mysqli.allow_persistentinteger Enable the ability to create persistent connections using
mysqli_connect.- 
              
mysqli.max_persistentinteger Maximum of persistent connections that can be made. Set to 0 for unlimited.
- 
              
mysqli.max_linksinteger The maximum number of MySQL connections per process.
- 
              
mysqli.default_portinteger The default TCP port number to use when connecting to the database server if no other port is specified. If no default is specified, the port will be obtained from the
MYSQL_TCP_PORTenvironment variable, themysql-tcpentry in/etc/servicesor the compile-timeMYSQL_PORTconstant, in that order. Win32 will only use theMYSQL_PORTconstant.- 
              
mysqli.default_socketstring The default socket name to use when connecting to a local database server if no other socket name is specified.
- 
              
mysqli.default_hoststring The default server host to use when connecting to the database server if no other host is specified. Doesn't apply in safe mode.
- 
              
mysqli.default_userstring The default user name to use when connecting to the database server if no other name is specified. Doesn't apply in safe mode.
- 
              
mysqli.default_pwstring The default password to use when connecting to the database server if no other password is specified. Doesn't apply in safe mode.
- 
              
mysqli.reconnectinteger Automatically reconnect if the connection was lost.
- 
              
mysqli.allow_local_infileinteger - 
              
mysqli.cache_sizeinteger Available only with mysqlnd.
        Users cannot set MYSQL_OPT_READ_TIMEOUT
        through an API call or runtime configuration setting. Note that
        if it were possible there would be differences between how
        libmysql and streams would interpret the
        value of MYSQL_OPT_READ_TIMEOUT.
      
Copyright 1997-2010 the PHP Documentation Group.
This extension has no resource types defined.