Web студия "GrandView"
  Главная   Написать Контакты
   
   
О проекте
Руководство php
 

mysqli_connect

(PHP 5)

mysqli_connect

(no version information, might be only in CVS)

mysqli() -- Открывает новое соединение с сервером MySQL

Описание

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

mysqli mysqli_connect ( [string host [, string username [, string passwd [, string dbname [, int port [, string socket]]]]]] )

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

class mysqli {

__construct ( [string host [, string username [, string passwd [, string dbname [, int port [, string socket]]]]]] )

}

Функция mysqli_connect() пытается открыть соединение с сервером MySQL, работающему на сервере, указанном параметром host, который может быть именем хоста или IP-адресом. Передача значения NULL или строки "localhost" в качестве этого параметра, предполагает подключение к локальному хосту. При возможности будут использованы каналы (pipes) вместо протокола TCP/IP. При успешном подключение, функция mysqli_connect() вернет объект, представляющий соединение с базой данных, или FALSE при неудаче.

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

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

Параметры port и socket используются совместно с параметром host для дополнительного контроля над подключением к серверу баз данных. Параметр port определяет номер порта для попытки подключения к серверу MySQL, который его прослушивает, в то время как параметр socket определяет сокет или именованый канал, которые необходимо использовать для соединения.

Замечание: Установка параметра socket точно не определяет тип соединения для использования при подключении к серверу MySQL. Каким образом установлено соединение с базой данных MySQL определяется параметром host.

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

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

Примеры

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

<?php
$mysqli
= new mysqli("localhost", "my_user", "my_password", "world");

/* Проверка подключения */
if (mysqli_connect_errno()) {
   
printf("Ошибка подключения: %s\n", mysqli_connect_error());
    exit();
}

printf("Информация о хосте: %s\n", $mysqli->host_info);

/* Закрытие соединения */
$mysqli->close();
?>

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

<?php
$link
= mysqli_connect("localhost", "my_user", "my_password", "world");

/* Проверка подключения */
if (!$link) {
   
printf("Ошибка подключения: %s\n", mysqli_connect_error());
    exit();
}

printf("Информация о хосте: %s\n", mysqli_get_host_info($link));

/* Закрытие соединения */
mysqli_close($link);
?>

Результат выполнения данного примера:

Информация о хосте: Localhost via UNIX socket


mysqli_data_seek> <mysqli_connect_error
Last updated: Sat, 27 Jan 2007
 
add a note add a note User Contributed Notes
mysqli_connect
martin dot velek at gmail dot com
30-Jul-2007 09:53
When you need more(less) timeout, you can use this. This only guarantees that host and port are opened. It is suitable on the very high speed networks(LAN) and where one second is not acceptable.

$timeoutInSeconds can be set to any numeric value
e.g. "1/2", "0.500","0.1","0.01" etc.

--------------------------------------------------------------
function getmicrotime()
{
    list($usec, $sec) = explode(" ",microtime());
    return ((float)$usec + (float)$sec);
}
$time_start = getmicrotime();

$fp = fsockopen("$mysqlHost",$mysqlPort, $errno, $errstr,$timeoutInSeconds);

if (!$fp)
{
      //timeout mostly
      echo "ERR: $errno - $errstr<br>\n";
      $time_end = getmicrotime();
      $time = $time_end - $time_start;
      echo "Timeout $time sekund";
}
else
{
     fclose($fp);
}
nonerr gmail.com
06-Jul-2007 06:29
This helped me:

<?php
$db
= mysqli_connect($host, $login, $pass, $dbName);
$db->set_charset('utf8');
...
?>
Gazzer
17-Feb-2007 11:52
Yes, it's totally odd that php.ini doesn't seem to allow you to global specify the client connection as utf-8. You might try this in the
my.cnf file

[client]
default-character-set=utf8

[mysqld]
default-character-set=utf8

It didn't work for me, but others may have better luck. In the end I had to specify in the php code as noted below.
Niel Archer
31-Jan-2007 11:13
A quick word about the connection encoding for this extension.  It doesn't appear to be documented anywhere that I can find, but this defaults to latin1 encoding for the connection, regardless of PHP's or MySQL's settings.  I run in a completely UTF-8 setup, and spent days trying to discover the cause of corrupted characters from the Db.  If, like me, you need to work with other than latin1, use the set_charset function/method to switch to your encoding of choice.

mysqli_data_seek> <mysqli_connect_error
Last updated: Sat, 27 Jan 2007
 
 
Новости
11 июля 2007
Сайт запущен
© 2007 info@grandviewstudio.com

Deprecated: Function set_magic_quotes_runtime() is deprecated in /home/sites/grandviewstudiocom/www/65f67d67a94ad980786580ae69e11c07/sape.php on line 324

Deprecated: Function set_magic_quotes_runtime() is deprecated in /home/sites/grandviewstudiocom/www/65f67d67a94ad980786580ae69e11c07/sape.php on line 330
Z058440144362 Z348613067571